【问题标题】:How to convert column values to multiple rows for a csv in python [duplicate]如何在python中将列值转换为csv的多行[重复]
【发布时间】: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

我无法做到这一点。谁能解释一下我们如何做到这一点。

【问题讨论】:

  • 您是否尝试过制作新数据框并将旧数据框解析为所需的结构?
  • 我在 python 方面不是很好,我阅读了文档。但我不太确定如何进行。
  • 我对你想要达到的目标感到困惑,你为什么要把 17 和 22 与 2021-12-01 联系起来?还有 24、83 和 2022-02-01 吗?我看不到逻辑。当我查看原始数据框时,使用 df.melt 是有意义的,但它不会产生您想要将其转换成的内容。

标签: python python-3.x pandas dataframe numpy


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 2020-02-10
    • 2015-12-15
    • 1970-01-01
    • 2022-06-28
    相关资源
    最近更新 更多