如何在 pandas 中添加特定行(带有示例)


您可以使用以下方法来查找 pandas DataFrame 中特定行的总和:

方法一:通过索引添加特定行

 #sum rows in index positions 0, 1, and 4
df. iloc [[0, 1, 4]]. sum ()

方法2:通过标签添加特定行

 #sum rows with index labels 'A', 'B', and 'E'
df. loc [['A', 'B', 'E']]. sum () 

以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [28, 17, 19, 14, 23, 26, 5],
                   ' rebounds ': [5, 6, 4, 7, 14, 12, 9],
                   ' assists ': [10, 13, 7, 8, 4, 5, 8]})

#set indexes
df = df. set_index ([pd. Index (['A', 'B', 'C', 'D', 'E', 'F', 'G'])])

#view DataFrame
print (df)

   points rebound assists
A 28 5 10
B 17 6 13
C 19 4 7
D 14 7 8
E 23 14 4
F 26 12 5
G 5 9 8

示例 1:按索引计算特定行的总和

以下代码展示了如何为 DataFrame 中的每一列添加索引值为 0、1 和 4 的行的值:

 #sum rows in index positions 0, 1, and 4
df. iloc [[0, 1, 4]]. sum ()

points 68
rebounds 25
assists 27
dtype: int64

从结果我们可以看出:

  • 列的索引值为 0、1 和 4 的行的总和为68
  • 反弹列的索引值为 0、1 和 4 的行的总和为25
  • 辅助列索引值为 0、1 和 4 的行的总和为27

另请注意,您可以使用以下语法对特定范围的行求和:

 #sum rows in index positions between 0 and 4
df. iloc [0:4]. sum ()

points 78
rebounds 22
assists 38
dtype: int64

从输出中,我们可以看到 DataFrame 中每一列的索引值在 0 到 4 之间(不包括 4)的行的总和。

示例 2:按标签添加特定行

以下代码展示了如何对 DataFrame 中每列具有索引标签“A”、“B”和“E”的行的值求和:

 #sum rows with index labels 'A', 'B', and 'E'
df. loc [['A', 'B', 'E']]. sum ()

points 68
rebounds 25
assists 27
dtype: int64

从结果我们可以看出:

  • 列的索引值为 ‘A’、’B’ 和 ‘E’ 的行的总和为68
  • 反弹列的索引值为 ‘A’、’B’ 和 ‘E’ 的行的总和为25
  • 辅助列的索引值为 ‘A’、’B’ 和 ‘E’ 的行的总和为27

相关: Pandas 中 loc 和 iloc 的区别

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何在 Pandas 中运行 SUMIF 函数
如何在 Pandas 中执行 GroupBy 求和
如何根据 Pandas 中的条件对列求和

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注