【发布时间】:2019-04-17 06:09:58
【问题描述】:
当我汇总一个数据框并将其重新加入原始数据框时,我无法处理列名。
这是原始数据框:
import pandas as pd
d = {'col1': ["a", "a", "b", "a", "b", "a"], 'col2': [0, 4, 3, -5, 3, 4]}
df = pd.DataFrame(data=d)
现在我计算一些统计数据并将摘要合并回:
group_summary = df.groupby('col1', as_index = False).agg({'col2': ['mean', 'count']})
df = pd.merge(df, group_summary, on = 'col1')
数据框现在有一些奇怪的列名:
df
Out:
col1 col2 (col2, mean) (col2, count)
0 a 0 0.75 4
1 a 4 0.75 4
2 a -5 0.75 4
3 a 4 0.75 4
4 b 3 3.00 2
5 b 3 3.00 2
我知道我可以使用df.iloc[:, 2] 之类的列,但我也想使用df['(col2, mean)'] 之类的列,但这会返回KeyError。
来源:这源于this 上一个问题。
【问题讨论】: