📜  pandas 向数据框添加总行 - Python (1)

📅  最后修改于: 2023-12-03 14:45:03.666000             🧑  作者: Mango

pandas 向数据框添加总行 - Python

在 Pandas 中,我们可以使用 df.sum() 函数计算每列的总数,但是如何将这行总数添加到数据框中呢?本文将介绍如何向 Pandas 数据框添加总行。

1. 使用 .loc 属性

我们可以使用 df.loc[label] 属性在数据框中添加新行,其中 label 后跟新行名称,这里可以使用 ['Total'] 来表示总行。代码如下:

import pandas as pd

# 创建示例数据框
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 添加总行
df.loc['Total'] = df.sum()

print(df)

输出:

       A   B   C
0      1   4   7
1      2   5   8
2      3   6   9
Total  6  15  24
2. 转置后使用 .loc 属性

我们还可以在转置数据框后使用 .loc 属性,代码如下:

import pandas as pd

# 创建示例数据框
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 转置并添加总行
df = df.T
df.loc['Total'] = df.sum()
df = df.T

print(df)

输出:

       A   B   C
0      1   4   7
1      2   5   8
2      3   6   9
Total  6  15  24
3. 更改总行位置

如果想将总行放在数据框最上方,我们可以先添加总行,然后通过 .reindex() 函数来调整总行位置。代码如下:

import pandas as pd

# 创建示例数据框
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 添加总行
df.loc['Total'] = df.sum()

# 将总行位置调整为第一行
df = df.reindex(['Total'] + list(range(len(df) - 1)))

print(df)

输出:

       A   B   C
Total  6  15  24
0      1   4   7
1      2   5   8
2      3   6   9

至此,我们已成功向 Pandas 数据框添加了总行。