大熊猫申请附加总行

时间:2019-02-28 12:13:12

标签: python pandas

我经历了无数示例,将“总计”行放在数据帧的末尾。我只是想知道为什么下面的方法不能起作用:

import pandas as pd

dict = {
    'a' : [1,2 ,3, 4, 5],
    'b' : [3, 5, 7, 9, 10]
}

df = pd.DataFrame(dict)
# print(df)

def func(x):
    x['sum'] = x.sum()

df2 = df.apply(lambda x: func(x), axis=0)

print(df2)

在这种情况下,x始终是一个包含整列的Series,我要附加一个名为sum的索引。请指导。

编辑:如果我们可以用axis = 1来计算总和,那么为什么不能使用axis = 0来计算总和。

1 个答案:

答案 0 :(得分:1)

函数中缺少return x

def func(x):
    x['sum'] = x.sum()
    return x

df2 = df.apply(lambda x: func(x), axis=0)
print(df2)

      a   b
0     1   3
1     2   5
2     3   7
3     4   9
4     5  10
sum  15  34

但最简单的是使用setting with enlargement

df.loc['sum'] = df.sum()