如何在pandas中使用变量作为groupby方法的分组参数
错误原因
groupbyvars本身已经是存储分组列名的列表类型,你在传入groupby方法时额外加了一层[]包裹,会导致传入的参数变成嵌套列表,pandas无法识别这种格式的分组字段,所以运行报错。
修正后代码
groupbyvars=['Column1','Column2','Column3','Column4'] df_grouped = (df.groupby(groupbyvars) [compvars].sum()).reset_index()
用法补充
- 后续调整分组规则时,只需要修改
groupbyvars列表内的元素即可,不需要改动后续聚合逻辑 - 你代码中用
compvars变量指定聚合列的写法是正确的,只要compvars是提前定义好的列名列表就能正常运行
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

