【问题标题】:In Pandas how could I pivot select date columns into rows在 Pandas 中,我如何将选择日期列转换为行
【发布时间】:2021-07-06 23:41:22
【问题描述】:

我有一个相当烦人的 csv 文件,其中日期列需要使用 python 使用 pandas 移动到行中。

这是原始源 csv 文件的外观(注意实际上有 208 个销售和数量列,涵盖两年的每周数据):

ProductID StoreID 24/06/2019_Sales 01/07/2019_Sales 24/06/2019_Vol 01/07/2019_Vol
1 230 15.00 20.00 3 5
8 179 7.00 14.00 1 2
1 54 20.00 10.00 2 1

而我想要得到的是:

ProductID StoreID Date. Sales Vol
1 230 01/07/2019 15.00 3
8 179 01/07/2019 7.00 1
1 54 01/07/2019 20.00 2
1 230 24/06/2019 20.00 5
8 179 24/06/2019 14.00 2
1 54 24/06/2019 10.00 1

我尝试过使用 melt 功能,但运气不佳。有什么想法吗?

【问题讨论】:

  • 我认为 StackOverflow 上有几个解决方案可以解决这个问题:link

标签: python pandas pivot


【解决方案1】:

我相信我自己可能已经通过以下代码部分解决了这个问题:

df2 = df.melt(['ProductID', 'StoreID'], var_name='Date', value_name='Measure')
df2[['Misc','Date']] = df2['Date'].str.split('_',expand=True)

然后我将合并记录。接受任何进一步的反馈。

【讨论】:

  • 谢谢亨利,我是这个平台的新手
猜你喜欢
  • 2021-09-12
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 2019-04-19
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多