Python 向具有列平均值的数据帧添加行
我有一个熊猫数据框Python 向具有列平均值的数据帧添加行,python,pandas,Python,Pandas,我有一个熊猫数据框 df = pd.DataFrame([[0,1,10,15],[1,5,7,10],[10,15,0,0]], columns=['Apple','Orange','Banana','Pear'], index=['basket1','basket2','basket3']) 我需要生成一个看起来像 Fruit Apple Orange Banana Pear mean_basket basket1 0 1 10 1
df = pd.DataFrame([[0,1,10,15],[1,5,7,10],[10,15,0,0]], columns=['Apple','Orange','Banana','Pear'], index=['basket1','basket2','basket3'])
我需要生成一个看起来像
Fruit Apple Orange Banana Pear mean_basket
basket1 0 1 10 15 6.5
basket2 1 5 7 10 5.75
basket3 10 15 0 0 6.25
mean_fruit 3.66 7 5.66 8.33 6.16
我做了df['mean_basket']=df.mean(axis=1)
并生成了最后一列。
通过df.mean(axis=0),我得到了每列的平均值,但我不知道如何将其作为新行添加到数据帧中。请帮忙
df = pd.DataFrame([[0,1,10,15],[1,5,7,10],[10,15,0,0]], columns=['Apple','Orange','Banana','Pear'], index=['basket1','basket2','basket3'])
df['mean_basket'] = df.mean(axis=1)
df.loc['mean_fruit'] = df.mean()
df
或使用管道
df.assign(
mean_basket=df.mean(1)
).pipe(lambda df: df.append(df.mean().rename('mean_fruit')))
Apple Orange Banana Pear mean_basket
basket1 0.000000 1.0 10.000000 15.000000 6.500000
basket2 1.000000 5.0 7.000000 10.000000 5.750000
basket3 10.000000 15.0 0.000000 0.000000 6.250000
mean_fruit 3.666667 7.0 5.666667 8.333333 6.166667
df.assign(
mean_basket=df.mean(1)
).pipe(lambda df: df.append(df.mean().rename('mean_fruit')))
Apple Orange Banana Pear mean_basket
basket1 0.000000 1.0 10.000000 15.000000 6.500000
basket2 1.000000 5.0 7.000000 10.000000 5.750000
basket3 10.000000 15.0 0.000000 0.000000 6.250000
mean_fruit 3.666667 7.0 5.666667 8.333333 6.166667