Multi-index pivoting in Pandas(Pandas 中的多索引旋转)
本文介绍了Pandas 中的多索引旋转的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
考虑以下数据框:
item_id hour when date quantity
110 0YrKNYeEoa 1 before 2015-01-26 247286
111 0UMNiXI7op 1 before 2015-01-26 602001
112 0QBtIMN3AH 1 before 2015-01-26 981630
113 0GuKXLiWyV 1 after 2015-01-26 2203913
114 0SoFbjvXTs 1 after 2015-01-26 660183
115 0UkT257SXj 1 before 2015-01-26 689332
116 0RPjXnkiGx 1 after 2015-01-26 283090
117 0FhJ9RGsLT 1 before 2015-01-26 2024256
118 0FhGJ4MFlg 1 before 2015-01-26 74524
119 0FQhHZRXhB 1 before 2015-01-26 0
120 0FsSdJQlTB 1 before 2015-01-26 0
121 0FrrAzTFHE 1 before 2015-01-26 0
122 0FfkgBdMHi 1 before 2015-01-26 0
123 0FOnJNexRn 1 before 2015-01-26 0
124 0FcWhIdBds 1 before 2015-01-26 0
125 0F2lr0cL9t 1 before 2015-01-26 1787659
我想旋转它以使表格排列为:
I would like to pivot it to get the table arranged as:
Index before after
(item_id, hour, date) quantityB quantityA
当我尝试:
df.pivot(index=['item_id', 'hour', 'date'], columns='when', values='quanty')
我明白了:
ValueError: Wrong number of items passed 8143, placement implies 3
为什么?
推荐答案
如果我明白你在问什么,我想你想要的是 pandas.pivot_table(...)
,你可以像这样使用所以:
If I understand what you are asking I think what you want is pandas.pivot_table(...)
which you can use like so:
table = pd.pivot_table(df, index=['item_id', 'hour', 'date'], columns='when', values='quantity')
其中有一个样本数据框
item_id hour when date quantity
0 a 1 before 2015-01-26 25
1 b 1 before 2015-01-26 14
2 a 1 after 2015-01-26 4
3 d 1 before 2015-01-26 43
4 b 1 after 2015-01-26 30
5 d 1 after 2015-01-26 12
生产
when after before
item_id hour date
a 1 2015-01-26 4 25
b 1 2015-01-26 30 14
d 1 2015-01-26 12 43
这篇关于Pandas 中的多索引旋转的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Pandas 中的多索引旋转


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