Pandas操作dataframe对所有列/行求和 ,对指定列/行求和,对某一列/行求和,并添加新的列/行

╰+哭是因爲堅強的太久メ 2022-09-08 00:07 481阅读 0赞

计算各行数据总和并作为新列添加到末尾

计算各列数据总和并作为新行添加到末尾

  1. import pandas as pd
  2. t=[[1,2,3],[4,5,6],[7,8,9]]
  3. df=pd.DataFrame(t) # list转为dataframe
  4. df['Row_sum'] = df.apply(lambda x: x.sum(), axis=1) # 按行求和,添加为新列
  5. df.loc['Col_sum'] = df.apply(lambda x: x.sum()) # 各列求和,添加新的行
  6. df

输出:在这里插入图片描述

添加列、行

添加新的列直接df[‘列名’],新行用df.loc[‘行名’]

指定列求和

使用iloc选择要求和的列:

  1. df['sum'] = code_table_data.iloc[:,3:6].sum(axis=1)

解释:
code_table_data[‘权重’] 为该数据设置新的一列

code_table_data.iloc[:,3:6] 为指定该数据哪些列需要求和,左闭右开

sum(axis=1) 为指定聚合函数并设置按行或列进行求和 axis=1是按行

还是用前面的df:

  1. df['Row_sum'] = df.iloc[:,0:2].sum(axis=1) # 对0,1列按行求和,生成新列
  2. df.loc['Col_sum1'] = df.iloc[0:2,:].sum(axis=0) # 对0,1行按列求和,生成新行
  3. df.loc['Col_sum2'] = df.iloc[0:2,:].sum(axis=1) # 对0,1行按行求和,生成新行
  4. df

在这里插入图片描述

某一列求和

在操作pandas的DataFrame的时候,常常会遇到某些列是字符串,某一些列是数值的情况,如果直接使用df_obj.apply(sum)往往会出错
使用如下方式即可对其中某一列进行求和

  1. dataf_test1['diff'].sum() // diff为要求和的列

参考链接:https://blog.csdn.net/weixin_39858881/article/details/89489803
https://blog.csdn.net/glittledream/article/details/105265225

发表评论

表情:
评论列表 (有 0 条评论,481人围观)

还没有评论,来说两句吧...

相关阅读

    相关 pandas求和

    了解更多,请关注公众号“轻松学编程” 一行代码实现对列求和 使用pandas把列表中的字典元素转成二维数组,然后使用pandas函数实现对每一列求和。 代码: