Pandas操作dataframe对所有列/行求和 ,对指定列/行求和,对某一列/行求和,并添加新的列/行 | 您所在的位置:网站首页 › python加和代码 › Pandas操作dataframe对所有列/行求和 ,对指定列/行求和,对某一列/行求和,并添加新的列/行 |
计算各行数据总和并作为新列添加到末尾
计算各列数据总和并作为新行添加到末尾
import pandas as pd
t=[[1,2,3],[4,5,6],[7,8,9]]
df=pd.DataFrame(t) # list转为dataframe
df['Row_sum'] = df.apply(lambda x: x.sum(), axis=1) # 按行求和,添加为新列
df.loc['Col_sum'] = df.apply(lambda x: x.sum()) # 各列求和,添加新的行
df
输出: 添加列、行添加新的列直接df[‘列名’],新行用df.loc[‘行名’] 指定列求和使用iloc选择要求和的列: 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: df['Row_sum'] = df.iloc[:,0:2].sum(axis=1) # 对0,1列按行求和,生成新列 df.loc['Col_sum1'] = df.iloc[0:2,:].sum(axis=0) # 对0,1行按列求和,生成新行 df.loc['Col_sum2'] = df.iloc[0:2,:].sum(axis=1) # 对0,1行按行求和,生成新行 df 某一列求和在操作pandas的DataFrame的时候,常常会遇到某些列是字符串,某一些列是数值的情况,如果直接使用df_obj.apply(sum)往往会出错 使用如下方式即可对其中某一列进行求和 dataf_test1['diff'].sum() // diff为要求和的列参考链接:https://blog.csdn.net/weixin_39858881/article/details/89489803 https://blog.csdn.net/glittledream/article/details/105265225 注:axis二维数据拥有两个轴:第0轴(axis=0)沿着行的垂直往下,第1轴(axis=1或axis=-1)沿着列的方向水平延伸。 也许简单的来记就是axis=0代表跨行(down),而axis=1代表跨列(across) |
CopyRight 2018-2019 实验室设备网 版权所有 |