经过一些聚合后,我的数据框看起来像这样
A B
B_min B_max
0 11 3 6
1 22 1 2
2 33 4 4
如何在不进行任何嵌套的情况下将列设为A
,B_min
和B_max
?简单而标准。我尝试了reindex_axix()
和unstack()
,但没有任何效果。
答案 0 :(得分:1)
这是一种方法,但我希望有一种内置的方法来做到这一点。
import pandas as pd
df = pd.DataFrame({'A': [11, 11, 22, 22, 33, 33],
'B': [3, 6, 1, 2, 4, 4]})
g = df.groupby('A', as_index=False).agg({'B': ['min', 'max']})
g.columns = ['_'.join(col).strip() if col[1] else col[0] for col in g.columns.values]
# A B_min B_max
# 0 11 3 6
# 1 22 1 2
# 2 33 4 4