【发布时间】:2014-05-23 21:08:19
【问题描述】:
我有一个包含重复测量的重复列名的数据框。
df = pd.DataFrame({'A': randn(5), 'B': randn(5)})
df2 = pd.DataFrame({'A': randn(5), 'B': randn(5)})
df3 = pd.concat([df,df2], axis=1)
df3
A B A B
0 -0.875884 -0.298203 0.877414 1.282025
1 1.605602 -0.127038 -0.286237 0.572269
2 1.349540 -0.067487 0.126440 1.063988
3 -0.142809 1.282968 0.941925 -1.593592
4 -0.630353 1.888605 -1.176436 -1.623352
我想取 cols 'A's 和 'B's 的平均值,以便数据框缩小到
A B
0 0.000765 0.491911
1 0.659682 0.222616
2 0.737990 0.498251
3 0.399558 -0.155312
4 -0.903395 0.132627
如果我做典型的
df3['A'].mean(axis=1)
我得到一个系列(没有列名),然后我应该使用每个 col 组的方法构建一个新的数据框。此外 .groupby() 方法显然不允许您按列名分组,而是您提供列并对索引进行排序。有什么奇特的方法可以做到这一点吗?
附带问题:为什么
df = pd.DataFrame({'A': randn(5), 'B': randn(5), 'A': randn(5), 'B': randn(5)})
不生成 4 列数据框,而是合并同名列?
【问题讨论】:
-
回答你的小问题,为什么你认为用重复键定义一个字典会起作用?