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 中,我如何将选择日期列转换为行


基础教程推荐
- 筛选NumPy数组 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01