python - 以编程方式为 pd.melt 选择列
问题描述
致力于自动化月度报告。试图找到一种替代方法,而不是在 pandas 融化函数中手动输入列id_vars
名value_vars
。是否可以以编程方式执行此操作?
考虑一个具有列 a、b、c、'12/01/2018'、'12/02/2018'、'12/03/2018' 等的 df,其中 a、b、c 始终是id_vars
日期和每日日期给定月份(在这种情况下为 12 月)value_vars
将被取消透视。而不是写出来
pd.melt(id_vars=['a','b','c'],value_vars=['12/01/2018',
'12/02/2018','12/03/2018', etc.])
是否可以以编程方式将 value_vars 分配给 melt 函数,以便每个月都可以使用相同的代码?(一月将有 31 天的时间来取消转轴,但二月将有 28 天)。
我不是 pythonista,感谢您花时间帮助我解决这个问题。
解决方案
您可以使用:
df.melt(['a','b','c'])
df.melt 的文档字符串状态:
value_vars :元组、列表或 ndarray,可选 Column(s) 以取消透视。如果未指定,则使用所有未设置为 的列
id_vars
。
因此,您已将 id_vars 设置为他的第一个参数,并且所有其他列将用作每个文档的 value_vars。
推荐阅读
- c# - 如何在查询中获得多个结果?
- sql - 如何使用 Bigquery 通过前缀选择结构中的字段列表
- java - 用新数据刷新anychart饼图
- python - 如何通过每个项目的多个条目对df进行分组,添加列
- firebase - 客户端离线,获取文档失败
- c - 如何使用 .txt 文件作为命令行输入,使其内容被读取为 C 中的命令行输入?
- javascript - 在 React Multi Form 上提交后清除输入
- asp.net-mvc - 实体框架中的三表模型中的 NullReferenceException
- velo - 如何计算 Wix 数据库中的元素数量?
- python - StanfordCoreNLP 服务器使用 Stanza 无限期监听