如何在Pandas数据框架中增加一个总行

110 阅读1分钟

你可以使用下面的基本语法在pandas DataFrame的底部添加一个 "总数 "行:

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

下面的例子展示了如何在实践中使用这种语法。

例子:在Pandas数据框架中添加一个总计行

假设我们有下面这个pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F'],
                   'assists': [5, 7, 7, 9, 12, 9],
                   'rebounds': [11, 8, 10, 6, 6, 5],
                   'blocks': [6, 6, 3, 2, 7, 9]})

#view DataFrame
print(df)

  team  assists  rebounds  blocks
0    A        5        11       6
1    B        7         8       6
2    C        7        10       3
3    D        9         6       2
4    E       12         6       7
5    F        9         5       9

我们可以使用下面的语法在DataFrame的底部添加一个 "总数 "行,显示每一列的数值之和:

#add total row
df.loc['total']= df.sum()

#view updated DataFrame
print(df)

         team  assists  rebounds  blocks
0           A        5        11       6
1           B        7         8       6
2           C        7        10       3
3           D        9         6       2
4           E       12         6       7
5           F        9         5       9
total  ABCDEF       49        46      33

在DataFrame的底部添加了一个新行,显示每一列的数值之和。

注意,对于字符列,"总数 "只是该列中每个字符的连接。

如果你愿意,你可以将团队列中的'总数'值设置为简单的空白:

#set last value in team column to be blank
df.loc[df.index[-1], 'team'] = ''

#view updated DataFrame
print(df)

      team  assists  rebounds  blocks
0        A        5        11       6
1        B        7         8       6
2        C        7        10       3
3        D        9         6       2
4        E       12         6       7
5        F        9         5       9
total            49        46      33

团队列中的最后一个值现在是空白,而不是该列中每个字符的连接。