python - Pandas 中列的元素操作
问题描述
我想对 Pandas 中三个不同数据帧中长度不同的三列的元素进行平均。例如:
df_1:
c1 | c2 | c3
0 | 1 | 2
1 | 2 | 3
2 | 3 | 4
df_2:
c1 | c2 | c3
1 | 2 | 3
1 | 2 | 3
1 | 2 | 3
df_3:
c1 | c2 | c3
3 | 2 | 1
1 | 2 | 3
3 | 2 | 1
我想平均 c3 的每个元素,并将其保存在新的df_4 中:
c1 | c2 | c3
3 | 2 | (2+3+1)/3
1 | 2 | (3+3+3)/3
3 | 2 | (4+3+1)/3
我尝试了以下仅返回 NaN 值的方法:
df_1_c3 = df_1.loc[:,'c3']
df_2_c3 = df_2.loc[:,'c3']
df_3_c3 = df_3.loc[:,'c3']
adc_avg = pd.DataFrame((df_1_c3 + df_2_c3 + df_3_c3 )/3)
解决方案
尝试以下操作(根据您的描述,我认为 df_4 的 c1、c2 列与 df_3 相同):
df_4=df_3.copy()
df_4['c3']=[sum(i)/3 for i in zip(df_1.c3, df_2.c3, df_3.c3)]
推荐阅读
- python - 如何修复 ImportError:没有名为 main 的模块
- excel - 索引匹配未返回正确值
- node.js - 为什么 mongoose 中的 model.find() 在创建集合之前运行?
- python - 熊猫查找列的值计数
- css - 悬停时如何更改行颜色
- node.js - 在 mongoose 中使用 or 和 and 运算符
- modelica - cd 命令在 Dymola.mos 文件中不起作用
- binaryreader - 有没有办法读取存储在二进制(.bin)文件中的信息?
- stargazer - 观星者:F Statistic / df 中的换行符
- typescript - 如何在 TypeScript 中使对象参数的一个属性是必需的,而其余的属性是可选的?