[英]Grouping columns in a Pandas Dataframe
如果有人可以解决我遇到的熊猫数据框问题,我将不胜感激。
我正在尝试按列对熊猫数据框进行分组,但是不确定如何进行。 我有一个重复的列名(A和B)的数据框,并希望将它们分组以返回A和B的最大值
列数据框重复
index | A | A | A | B | B |
--------------------------------
2015-01-01 | | 1 | 7 | 1 | |
--------------------------------
2015-01-02 | 3 | | | | 5 |
处理后的数据框
index | A | B |
--------------------
2015-01-01 | 7 | 1 |
---------------------
2015-01-02 | 3 | 5 |
unique_cols = [A,B]
df.groupby(by = cols, axis = 1).max()
这不起作用,因为我收到有关石斑鱼不是一维的错误消息。 我也尝试过转置数据框并按行分组。 但是我收到IndexError消息( 索引0超出了轴0的范围,大小为0 )
题:
如何将具有重复列的数据框分组以从该组中返回最大的列?
我认为您首先需要按子集过滤列,然后按level=0
axis=1
和axis=1
所有列值进行groupby
:
cols = ['A','B']
df = df[cols].groupby(level = 0, axis = 1).max()
print (df)
A B
index
2015-01-01 7.0 1.0
2015-01-02 3.0 5.0
最后在必要时强制转换为int
:
df = df[cols].groupby(level = 0, axis = 1).max().astype(int)
print (df)
A B
index
2015-01-01 7 1
2015-01-02 3 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.