Python – Pandas Dataframe 所有行求和
当我们需要对 Pandas Dataframe 中的所有行进行求和时,我们可以使用 Pandas 库的 sum()
方法。下面我们将介绍如何使用此方法对 Pandas Dataframe 的所有行求和。
准备工作
我们首先需要导入 Pandas 库,并创建一个样本 Pandas Dataframe 作为示例代码。代码如下所示:
import pandas as pd
# 创建样本数据
data = {'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]}
df = pd.DataFrame(data)
print(df)
代码执行结果如下所示:
A B C
0 1 10 100
1 2 20 200
2 3 30 300
3 4 40 400
4 5 50 500
方法一:使用 sum()
方法
我们可以使用 sum()
方法对 Pandas Dataframe 的所有行求和。代码如下所示:
# 对所有行进行求和
row_sum = df.sum(axis=1)
print(row_sum)
代码执行结果如下所示:
0 111
1 222
2 333
3 444
4 555
dtype: int64
在上述代码中,axis=1
表示按行进行求和。我们还可以使用 axis=0
来按列进行求和。
方法二:使用 apply()
方法
除了使用 sum()
方法,我们还可以使用 Pandas Dataframe 的 apply()
方法对所有行进行求和。代码如下所示:
# 使用 apply() 对所有行进行求和
row_sum = df.apply(lambda x: x.sum(), axis=1)
print(row_sum)
代码执行结果和方法一的结果是一致的。
在上述代码中,我们使用了 lambda
函数对每一行进行求和,并将 axis=1
作为函数的参数传入。这里的 x
代表 Pandas Dataframe 的每一行。
方法三:使用 numpy
库
除了使用 Pandas 库的方法,我们还可以使用 NumPy 库对 Pandas Dataframe 的所有行进行求和。代码如下所示:
# 使用 numpy 对所有行进行求和
import numpy as np
row_sum = np.sum(df, axis=1)
print(row_sum)
代码执行结果和方法一、方法二的结果是一致的。
方法四:使用 sum(axis=1).to_frame()
方法
如果我们希望将所有行的求和结果转换为 Pandas Dataframe 格式,我们可以使用 sum(axis=1).to_frame()
方法。代码如下所示:
# 将求和结果转换为 Pandas Dataframe 格式
row_sum_df = df.sum(axis=1).to_frame()
print(row_sum_df)
代码执行结果如下所示:
0
0 111
1 222
2 333
3 444
4 555
结论
本文介绍了四种方法对 Pandas Dataframe 的所有行进行求和,包括使用 Pandas 库的 sum()
方法、apply()
方法,使用 NumPy 库,以及将结果转换为 Pandas Dataframe 格式。我们可以根据实际需求选择其中的一种方法来进行操作。