【发布时间】:2018-09-21 21:15:36
【问题描述】:
如果我有一个数据框并且我想在开头插入一个汇总列,我可以运行
df.insert(0, 'Average', df.mean(axis='columns'))
假设我有一个表单的 MultiIndexed 数据框
df = pd.DataFrame()
for l1 in ('a', 'b'):
for l2 in ('one', 'two'):
df[l1, l2] = np.random.random(size=5)
df.columns = pd.MultiIndex.from_tuples(df.columns, names=['L1', 'L2'])
L1 a b
L2 one two one two
0 0.585409 0.563870 0.535770 0.868020
1 0.404546 0.102884 0.254945 0.362751
2 0.475362 0.601632 0.476761 0.665126
3 0.926288 0.615655 0.257977 0.668778
4 0.509069 0.706685 0.355842 0.891862
如何将所有one 列和所有two 列的平均值添加到此DataFrame 的前两列并命名为'Average'?
编辑:
预期的输出将是df.mean(level=1, axis=1),但插入到带有L1 标签'Average' 的帧的前两列。我希望以下内容会起作用:
df.insert(0, 'Average', df.mean(level=1, axis=1))
【问题讨论】:
-
你能提供预期的输出吗?我想我明白了,但我不确定您所说的“将平均值添加到前两列”是什么意思
标签: python pandas multi-index summary