草庐IT

pyhton_Pandas

全部标签

python - pandas groupby 聚合元素列表加法

我有一个pandas数据框,如下所示:XY71455[334.0,319.0,298.0,323.0]71455[3.0,8.0,13.0,10.0]57674[54.0,114.0,124.0,103.0]我想执行聚合groupby以元素方式添加存储在Y列中的列表。我试过的代码:df.groupby('X').agg({'Y':sum})结果如下:YX71455[334.0,319.0,298.0,323.0,75.0,55.0,...所以它连接了列表,而不是按元素对它们求和。然而,预期的结果是:XY71455[337.0,327.0,311.0,333.0]57674[54.0,1

python - 如何在 Pandas 中创建 lazy_evaluated 数据框列

很多时候,我有一个大数据框df来保存基础数据,并且需要创建更多的列来保存由基础数据列计算的派生数据。我可以在Pandas中这样做:df['derivative_col1']=df['basic_col1']+df['basic_col2']df['derivative_col2']=df['basic_col1']*df['basic_col2']....df['derivative_coln']=func(list_of_basic_cols)等Pandas会一次性计算并分配所有派生列的内存。我现在想要的是有一个惰性求值机制,将导数列的计算和内存分配推迟到实际需要的时刻。将lazy_

python - Pandas:使用循环和分层索引将多个 csv 文件导入数据框

我想将目标目录中的多个CSV文件(具有不同列数)读取到单个PythonPandasDataFrame中,以高效地搜索和提取数据。示例文件:Events1,0.32,0.20,0.672,0.94,0.19,0.14,0.21,0.943,0.32,0.20,0.64,0.324,0.87,0.13,0.61,0.54,0.25,0.435,0.62,0.21,0.77,0.44,0.16这是我目前所拥有的:#getalistofallcsvfilesintargetdirectorymy_dir="C:\\Data\\"filelist=[]os.chdir(my_dir)forfil

python - 将列值更改为 Pandas 中的列标题

我有以下代码,它采用pandas数据框的一列中的值,并将它们作为新数据框的列。数据框第一列中的值成为新数据框的索引。从某种意义上说,我想把一个邻接表变成一个邻接矩阵。到目前为止,这是代码:importpandasaspaprint"OriginalDataFrame"#Createadataframeoldcols={'col1':['a','a','b','b'],'col2':['c','d','c','d'],'col3':[1,2,3,4]}a=pa.DataFrame(oldcols)printa#Thecolumnsofthenewdataframewillbetheval

python - Pandas :随机删除行而不洗牌数据集

我有一个数据集,需要在保留行顺序的同时省略几行。我的想法是使用一个掩码,其随机数介于0和我的数据集的长度之间,但我不确定如何在不随机排列行的情况下设置掩码,即类似于对数据集进行采样的方法.示例:数据集有5行和2列,我想随机删除一行。Col1|Col2A|1B|2C|5D|4E|0转换为:Col1|Col2A|1B|2D|4E|0随机选择省略了第三行(Col1='C')。我该怎么办? 最佳答案 以下应该适合您。在这里,我从df的索引中采样remove_n随机row_ids。之后,df.drop从数据框中删除这些行并返回旧数据框的新子集

python - 在 Pandas 中,read_excel() 中使用的 read_csv() 中的 'nrows' 是什么?

只想将特定范围的数据从excel电子表格(.xlsm格式,因为它有宏)导入pandas数据框。是这样做的:data=pd.read_excel(filepath,header=0,skiprows=4,nrows=20,parse_cols="A:D")但nrows似乎只适用于read_csv()?read_excel()的等效项是什么? 最佳答案 作为notedinthedocumentation,从pandas版本0.23开始,这现在是一个内置选项,并且功能几乎与OP所述完全相同。代码data=pd.read_excel(fil

python - Pandas 重命名索引值

我在Pandas(python)中有以下数据框:B.X.Y.Aalpha3.5.5beta9.9.11我想将“alpha”更改为另一个名称,例如“mu”。我该怎么办? 最佳答案 使用rename带有参数index将字典传递给index参数df.rename(index={'alpha':'mu'}) 关于python-Pandas重命名索引值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

python - Pandas:水平组合两个 DataFrame

这个问题在这里已经有了答案:Concatenaterowsoftwodataframesinpandas(2个答案)关闭5年前。我有两个PandasDataFrame,每个都有不同的列。我想基本上将它们水平粘合在一起(它们每个都有相同的行数,所以这应该不是问题)。一定有一种简单的方法可以做到这一点,但我已经阅读了文档,concat不是我要找的(我不认为)。有什么想法吗?谢谢!

python - 将 AWS Glue Python 与 NumPy 和 Pandas Python 程序包结合使用

在AWS上名为Glue的新ETL工具中使用NumPy和Pandas等包的最简单方法是什么?我在Python中有一个完整的脚本,我想在利用NumPy和Pandas的AWSGlue中运行。 最佳答案 您可以检查使用此脚本作为粘合作业安装的最新python包importloggingimportpiplogger=logging.getLogger(__name__)logger.setLevel(logging.INFO)if__name__=='__main__':logger.info(pip._internal.main(['li

python - pandas 中 df.reindex() 和 df.set_index() 方法的区别

我对此感到困惑,这很简单,但我没有立即在StackOverflow上找到答案:df.set_index('xcol')使列'xcol'成为索引(当它是df的列时)。但是,df.reindex(myList)从数据帧外部获取索引,例如,从我们在别处定义的名为myList的列表中获取索引。但是,df.reindex(myList)也会将值更改为NA。一个简单的替代方法是:df.index=myList我希望这篇文章能澄清它!也欢迎对这篇文章进行补充! 最佳答案 您可以在一个简单的示例中看到差异。让我们考虑这个数据框:df=pd.Data