如何将Pandas数据框架的值按行相加

如何将Pandas数据框架的值按行相加

在使用python pandas模块时,可能需要对一个数据框架的行进行求和。下面是对Dataframe的行进行求和的例子。Dataframe是一个二维的数据结构,其形式是一个有行和列的表格。它可以通过从现有的存储空间加载数据集来创建,存储空间可以是SQL数据库、CSV文件、Excel文件,也可以是从python列表或字典中加载。

Pandas dataframe.sum()函数返回所请求的axis的数值之和。

语法: DataFrame.sum(axis)

参数:

  • axis:{索引(0),列(1)}。

每行的总和:

df.sum(axis=1)

示例 1:

使用sum函数对数据框架的所有行进行求和,并将axis值设置为1,用于求和行的值,并将结果显示为输出。

# 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)

输出 :

如何将Pandas数据框架的值按行相加?

按索引计算的所有行的总和

示例 2:

根据要求使用loc函数和sum函数对数据框架的所有行或部分行进行求和,并将axis设置为1以求得行数。它只对指定的行进行求和,并在剩下的地方放置NaN值。

# 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)

输出 :

如何将Pandas数据框架的值按行相加?

从第1行到第3行的所有行数相加

例子3 :

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

# 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)

输出 :

如何将Pandas数据框架的值按行相加?

使用eval函数的行数之和

例子4 :

使用eval函数对行进行求和,使用loc对指定的行进行求和,并将计算求和的表达式作为eval函数的一个参数。它只返回在loc中指定的行,其余的都被砍掉。

# 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)

输出 :

如何将Pandas数据框架的值按行相加?

仅使用eval对指定的行进行求和

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程