我想弄清楚每个专栏的意思" One"和"两个"。
这是我的数据帧上的df.columns语句的结果:
MultiIndex(levels=[['Growth %'], ['One', 'Two']],
labels=[[0, 0], [0, 1]],
names=[None, 'Years'])
我基本上想要算出" One"中所有数值的均值。和"两个"列。
如果我这样做:
df.mean(axis=0)
我明白了:
Years
Growth % One 17.215293
Two 45.213257
dtype: float64
但我只想要这些列的各个值,以便我可以将它们添加到数据帧中。
我尝试过:
df.mean(levels=[['Growth %'], ['One']])
以及类似的变体,但我无法显示这些列的平均值。
任何帮助都非常感谢。
答案 0 :(得分:2)
所以,这是我过去常常重建的内容:
In [17]: index = pd.MultiIndex(levels=[['Growth %'], ['One', 'Two']], labels=[[0, 0], [0, 1]], names=[None, 'Years'])
In [18]: df = pd.DataFrame(np.random.randn(2,6), index=index)
In [19]: df
Out[19]:
0 1 2 3 4 5
Years
Growth % One 0.449989 0.008239 -0.212202 -1.829215 0.609796 0.922987
Two -0.819815 0.726769 0.150591 1.851841 -0.639491 -0.637081
In [26]: df.mean(axis=1)
Out[26]:
Years
Growth % One -0.008401
Two 0.105469
dtype: float64
那,刚刚返回的是pd.Series
,您可以使用正确的索引来获取正确的数据。
试试这个:
df.mean(axis=1)['Growth %']['One']
df.mean(axis=1)['Growth %']['Two']
我希望这有帮助!