📜  如何按行对 Pandas 数据框的值求和?

📅  最后修改于: 2022-05-13 01:55:03.646000             🧑  作者: Mango

如何按行对 Pandas 数据框的值求和?

在处理Python pandas 模块时,可能需要总结一下 Dataframe 的行。以下是对 Dataframe 的行求和的示例。 Dataframe 是一种二维数据结构,采用具有行和列的表格形式。它可以通过从现有存储中加载数据集来创建,存储可以是 SQL 数据库、CSV 文件、Excel 文件,也可以来自Python列表或字典。

Pandas dataframe.sum()函数返回请求轴的值的总和。

每行的总和:



df.sum(axis=1)

示例 1:

使用 sum函数对 Dataframe 的所有行求和并将轴值设置为 1 以求和行值并将结果显示为输出。

Python3
# importing pandas module as pd
import pandas as pd
  
# creating a dataframe using dictionary
df = pd.DataFrame({'X':[1, 2, 3, 4, 5],
                   'Y':[54, 12, 57, 48, 96]})
  
# sum() method sums up the rows and columns of a dataframe
# axis = 1 sums up the rows
df = df.sum(axis = 1)
print(df)


Python3
# importing pandas as pd
import pandas as pd
  
# creating the dataframe using pandas DataFrame
df = pd.DataFrame({'X':[1, 2, 3, 4, 5],
                   'Y':[54, 12, 57, 48, 96],
                   'Z':['a', 'b', 'c', 'd', 'e']})
  
# df['column_name'] = df.loc[start_row_index:end_row_index,
# ['column1','column2']].sum(axis = 1)
# summing columns X and Y for row from 1 - 3
df['Sum_of_row'] = df.loc[1 : 3,['X' , 'Y']].sum(axis = 1)
print(df)


Python3
# importing pandas as pd
import pandas as pd
  
# creating the dataframe using pandas DataFrame
df = pd.DataFrame({'X':[1, 2, 3, 4, 5],
                   'Y':[54, 12, 57, 48, 96],
                   'Z':['a', 'b', 'c', 'd', 'e']})
  
# eval('expression') calculates the sum of the specified columns of that row
df = df.eval('Sum = X + Y')
print(df)


Python3
# importing pandas as pd
import pandas as pd
  
# creating the dataframe using pandas DataFrame
df = pd.DataFrame({'X':[1, 2, 3, 4, 5],
                   'Y':[54, 12, 57, 48, 96],
                   'Z':['a', 'b', 'c', 'd', 'e']})
  
# eval('expression') calculates the sum
# of the specified columns of that row
# using loc for specified rows
df = df.loc[2:4].eval('Sum = X + Y')
display(df)


输出 :

按索引的所有行的总和

示例 2:

根据需要使用 loc函数和 sum函数对 Dataframe 的所有行或某些行求和,并将轴设置为 1 以求和行。它仅对指定的行求和,并将 NaN 值放在其余位置。

蟒蛇3

# importing pandas as pd
import pandas as pd
  
# creating the dataframe using pandas DataFrame
df = pd.DataFrame({'X':[1, 2, 3, 4, 5],
                   'Y':[54, 12, 57, 48, 96],
                   'Z':['a', 'b', 'c', 'd', 'e']})
  
# df['column_name'] = df.loc[start_row_index:end_row_index,
# ['column1','column2']].sum(axis = 1)
# summing columns X and Y for row from 1 - 3
df['Sum_of_row'] = df.loc[1 : 3,['X' , 'Y']].sum(axis = 1)
print(df)

输出 :



汇总从第 1 行到第 3 行的所有行

示例 3:

使用 eval函数对行求和,以使用指定的表达式作为参数计算行的总和。

蟒蛇3

# importing pandas as pd
import pandas as pd
  
# creating the dataframe using pandas DataFrame
df = pd.DataFrame({'X':[1, 2, 3, 4, 5],
                   'Y':[54, 12, 57, 48, 96],
                   'Z':['a', 'b', 'c', 'd', 'e']})
  
# eval('expression') calculates the sum of the specified columns of that row
df = df.eval('Sum = X + Y')
print(df)

输出 :

使用 eval函数的行总和

示例 4:

使用 eval函数对行求和以计算具有指定行的行的总和,使用 loc 和表达式计算总和作为 eval函数的参数。它只返回在 loc 中指定的行并砍掉剩余的行。

蟒蛇3

# importing pandas as pd
import pandas as pd
  
# creating the dataframe using pandas DataFrame
df = pd.DataFrame({'X':[1, 2, 3, 4, 5],
                   'Y':[54, 12, 57, 48, 96],
                   'Z':['a', 'b', 'c', 'd', 'e']})
  
# eval('expression') calculates the sum
# of the specified columns of that row
# using loc for specified rows
df = df.loc[2:4].eval('Sum = X + Y')
display(df)

输出 :

仅使用 eval 对指定的行求和