如何在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的多行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在火花中将数据帧转换为csv [重复]

使用 Pandas DataFrame 将列表等列值转换为多行

如何在python中将json转换为csv?

如何在 Python 中将多个 .txt 文件转换为 .csv 文件

如何在 python 3.6.9 中将 dbf 转换为 csv?

如何在 python 中将 CSV 表转换为 COCO 格式?