DataFrame行列求和,指定列求和,指定行求和

想统计某些公司在各个省份开分公司的情况

df = pd.DataFrame([['A公司', 1, 2, 3, 4, 5], ['B公司', 0, 0, 1, 0, 0], ['C公司', 2, 3, 4, 5, 0]], columns=['公司名', '北京', '江苏', '浙江', '上海', '广东'], index=None)
# df_sum = df.sum()   # 全部列求和
df_sum = df[['北京', '江苏', '浙江', '上海', '广东']].sum()  # 指定列求和,默认是每列求和
df.loc[df.index.max()+1] = df_sum
df.loc[df.index.max(),'公司名'] = '各省合计'
print(df)

得到结果如下:

公司名北京江苏浙江上海广东
A公司12345
B公司00100
C公司23450
各省合计35895
df = pd.DataFrame([['A公司', 1, 2, 3, 4, 5], ['B公司', 0, 0, 1, 0, 0], ['C公司', 2, 3, 4, 5, 0]], columns=['公司名', '北京', '江苏', '浙江', '上海', '广东'], index=None)
df['公司合计'] = df.sum(axis=1) # 每行求和
# df['公司合计'] = df[df['公司名'] == 'A公司'].sum(axis=1)  # 指定行求和
print(df)

得到结果如下:

公司名北京江苏浙江上海广东公司合计
A公司1234515
B公司001001
C公司2345014
  • 12
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值