如何将用户自定义变量添加到Pandas groupby所用的列列表中
解决方案
你的问题核心是元组直接存入列表会作为单个元素,需要将元组的元素展开合并到列表中,有两种常用实现方式:
方法1:使用列表拼接
将硬编码的列表和转换为列表的user_vars拼接即可,兼容性最高:
# 拼接生成完整的分组列列表 group_cols = ['date', 'Language'] + list(user_vars) + ['genre'] g = df.groupby(group_cols)['key'].sum().reset_index()
方法2:使用星号解包语法(Python 3.5及以上版本支持)
直接在列表字面量中用*对元组解包,写法更简洁:
g = df.groupby(['date', 'Language', *user_vars, 'genre'])['key'].sum().reset_index()
补充说明
你原代码还存在语法错误:groupby(的右括号漏写,会直接触发语法报错,上述示例代码已修正该问题。
内容的提问来源于stack exchange,提问作者user14785984
相关产品推荐
相关产品推荐

