In Pandas how could I pivot select date columns into rows(在 Pandas 中,我如何将选择日期列转换为行)
问题描述
我有一个相当烦人的 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):
| 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 | 日期. | 销售 | 卷 |
|---|---|---|---|---|
| 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 功能,但运气不佳.有什么想法吗?
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.
这篇关于在 Pandas 中,我如何将选择日期列转换为行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Pandas 中,我如何将选择日期列转换为行
基础教程推荐
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
