如何在python中将列值转换为csv的多行[重复]
Posted
技术标签:
【中文标题】如何在python中将列值转换为csv的多行[重复]【英文标题】:How to convert column values to multiple rows for a csv in python [duplicate] 【发布时间】:2021-08-12 16:08:59 【问题描述】:check_NUMBER,2021-12-01,2022-01-01,2022-02-01
1000M,24,17,22
1000M,24,83,55
这是我的示例数据。我想把它转换成:
check_NUMBER,dates,values
1000M,2021-12-01,24
1000M,2021-12-01,17
1000M,2021-12-01,22
1000M,2022-02-01,24
1000M,2022-02-01,83
1000M,2022-02-01,55
我无法做到这一点。谁能解释一下我们如何做到这一点。
【问题讨论】:
您是否尝试过制作新数据框并将旧数据框解析为所需的结构? 我觉得你可以用melt。 pandas.pydata.org/pandas-docs/stable/reference/api/… 我在 python 方面不是很好,我阅读了文档。但我不太确定如何进行。 我对你想要达到的目标感到困惑,你为什么要把 17 和 22 与 2021-12-01 联系起来?还有 24、83 和 2022-02-01 吗?我看不到逻辑。当我查看原始数据框时,使用df.melt
是有意义的,但它不会产生您想要将其转换成的内容。
【参考方案1】:
使用df.melt
代码
df.melt(id_vars='check_NUMBER', var_name='dates', value_name='values')
输出
check_NUMBER dates values
0 1000M 2021-12-01 24
1 1000M 2021-12-01 24
2 1000M 2022-01-01 17
3 1000M 2022-01-01 83
4 1000M 2022-02-01 22
5 1000M 2022-02-01 55
【讨论】:
以上是关于如何在python中将列值转换为csv的多行[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Pandas DataFrame 将列表等列值转换为多行
如何在 Python 中将多个 .txt 文件转换为 .csv 文件