Python对表的行列求和

Python对表的行列求和

比如有一个成绩表:

np.random.seed(666)
a = np.random.randint(60, 100, (10, 6))
df = pd.DataFrame(a, 
                 index = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10'], 
                 columns = ['语文', '数学', '英语', '物理', '化学', '生物'])
df

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

对列求和(即求各科目所有学生的成绩),直接对表用公式sum()即可:
df.loc['列汇总']=df.sum()
df

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

对行求和:

这是最开始老师教的方法:

df['总分'] = df.语文+df.数学+df.英语+df.物理+df.化学+df.生物

——结果
在这里插入图片描述
总觉得麻烦了些,刚好学到索引和切片,琢磨着发现只能实现对一行求和,需要套用循环:

df['总分']=0
for i in range(len(df)):
    df['总分'][i]=df.iloc[i,:].sum()
df

——结果:
在这里插入图片描述
后来想到昨天学的转置,可以完美解决,而且代码及其简单:

df['行汇总']=df.T.sum()
df

——结果:
在这里插入图片描述

这个方法可以应用到列表汇总的各项公式上。对分组列表汇总用到的公式包括但不仅限于:
gp.count()
gp.mean()
gp.sum()
gp.std()
gp.var()

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值