【问题标题】:how to transpose a dataset, keeping first row as ID python如何转置数据集,将第一行保持为 ID python
【发布时间】:2021-09-23 21:54:26
【问题描述】:

我在 python 中有这个数据集:

statinfo 2021M08 2021M07 2021M06 2021M05 2021M04
AVG,NAC,ALL 121.55 122.32 122.83 123.01 123.1
AVG,NAC,AUD 1.6118 1.5926 1.5761 1.5653 1.5544

并且我需要将列标题转换为除第一行之外的值(希望将其保留为列)

预期输出:

statinfo Date Rate
AVG,NAC,ALL 2021M08 121.55
AVG,NAC,ALL 2021M07 122.32
AVG,NAC,ALL 2021M06 122.83
AVG,NAC,ALL 2021M05 123.01
AVG,NAC,ALL 2021M04 123.1
AVG,NAC,AUD 2021M08 1.6118
AVG,NAC,AUD 2021M07 1.5926
AVG,NAC,AUD 2021M06 1.5761
AVG,NAC,AUD 2021M05 1.5653
AVG,NAC,AUD 2021M04 1.5544

我尝试过df.transpose(),但它会转置所有数据集,我是使用 python 的新用户,有什么想法可以做到这一点。

【问题讨论】:

  • 这不是任何类型的有效 python 变量 - 请更新您的问题以至少包含演示问题所需的最小 python。

标签: python matrix transpose


【解决方案1】:

使用melt

>>> df.melt(id_vars='statinfo', var_name='Date', value_name='Rate')
      .sort_values('statinfo')

      statinfo     Date      Rate
0  AVG,NAC,ALL  2021M08  121.5500
2  AVG,NAC,ALL  2021M07  122.3200
4  AVG,NAC,ALL  2021M06  122.8300
6  AVG,NAC,ALL  2021M05  123.0100
8  AVG,NAC,ALL  2021M04  123.1000
1  AVG,NAC,AUD  2021M08    1.6118
3  AVG,NAC,AUD  2021M07    1.5926
5  AVG,NAC,AUD  2021M06    1.5761
7  AVG,NAC,AUD  2021M05    1.5653
9  AVG,NAC,AUD  2021M04    1.5544

【讨论】:

  • 谢谢,这段代码也有效。 (Y)
  • 如果其中一个适合您的需要,请考虑accept an answer。这对于社区和有类似问题的人来说很重要。
【解决方案2】:

试试stack:

>>> df.set_index("statinfo") \
      .stack() \
      .reset_index() \
      .rename(columns={"level_1": "Date", 0: "Rate"})

      statinfo     Date      Rate
0  AVG,NAC,ALL  2021M08  121.5500
1  AVG,NAC,ALL  2021M07  122.3200
2  AVG,NAC,ALL  2021M06  122.8300
3  AVG,NAC,ALL  2021M05  123.0100
4  AVG,NAC,ALL  2021M04  123.1000
5  AVG,NAC,AUD  2021M08    1.6118
6  AVG,NAC,AUD  2021M07    1.5926
7  AVG,NAC,AUD  2021M06    1.5761
8  AVG,NAC,AUD  2021M05    1.5653
9  AVG,NAC,AUD  2021M04    1.5544

【讨论】:

  • 谢谢,它按预期工作。
  • 乐于助人! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多