在 Pandas 中,我如何将选择日期列转换为行

2022-01-22 00:00:00 python pandas pivot

问题描述

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

I have a rather annoying csv file in which date columns need to move into rows using python using pandas.

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

Here is how the original source csv file looks (note there is actually 208 sales and volume columns covering two years of weekly data):

<头>
ProductIDStoreID24/06/2019_Sales01/07/2019_Sales24/06/2019_Vol01/07/2019_Vol
123015.0020.0035
81797.0014.0012
15420.0010.0021

而我想要得到的是:

<头>
ProductIDStoreID日期.销售
123001/07/201915.003
817901/07/20197.001
15401/07/201920.002
123024/06/201920.005
817924/06/201914.002
15424/06/201910.001

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

I have tried using the melt function but I am not getting much luck. Any thoughts?


解决方案

相信我自己用下面的代码可能已经部分解决了:

I believe I may have partly solved it myself with the following code:

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

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

I will then merge the records. Open to any further feedback.

相关文章