在Pandas的单次groupby操作中对多列求和
解决方案:按Country分组对所有年份列求和
以下几种一行代码的方法可以实现需求,无需手动逐个指定年份列名:
方法1:按列位置筛选年份列
若数据集前两列固定为Country和Gas,后续均为年份列,直接截取从第3列开始的所有列进行求和:df.groupby('Country')[df.columns[2:]].sum()方法2:按列名特征筛选年份列
利用年份列名均为四位数字的特性,通过列表推导式自动筛选出所有年份列:df.groupby('Country')[[col for col in df.columns if col.isdigit()]].sum()方法3:排除非目标列后求和
如果仅Gas列不需要参与求和,可先移除该列再分组求和:df.drop('Gas', axis=1).groupby('Country').sum()
内容的提问来源于stack exchange,提问作者Rohit Kaushik
相关产品推荐
相关产品推荐

