Python-Pandas-将具有特定子集的列转换为行
我有一个如下的数据框,上面有日期、价格和序列号Python-Pandas-将具有特定子集的列转换为行,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个如下的数据框,上面有日期、价格和序列号 +----------+--------+--------+ | Date | Price | Serial | +----------+--------+--------+ | 2/1/1996 | 0.5909 | 1 | | 2/1/1996 | 0.5711 | 2 | | 2/1/1996 | 0.5845 | 3 | | 3/1/1996 | 0.5874 | 1 | | 3/1/199
+----------+--------+--------+
| Date | Price | Serial |
+----------+--------+--------+
| 2/1/1996 | 0.5909 | 1 |
| 2/1/1996 | 0.5711 | 2 |
| 2/1/1996 | 0.5845 | 3 |
| 3/1/1996 | 0.5874 | 1 |
| 3/1/1996 | 0.5695 | 2 |
| 3/1/1996 | 0.584 | 3 |
+----------+--------+--------+
我想让它看起来像这样,序列号成为列名,数据将自己排序到正确的日期行和序列列中
+----------+--------+--------+--------+
| Date | 1 | 2 | 3 |
+----------+--------+--------+--------+
| 2/1/1996 | 0.5909 | 0.5711 | 0.5845 |
| 3/1/1996 | 0.5874 | 0.5695 | 0.584 |
+----------+--------+--------+--------+
我知道我可以通过循环来实现这一点,但我只是想知道是否有更有效的方法来实现这一点
谢谢你的帮助。同样好奇的是,是否有更好的方法粘贴此类表格,而不是在my questions=x中附加图像。您可以使用熊猫。pivot_table:
res = df.pivot_table(index='Date', columns='Serial', values='Price', aggfunc=np.sum)\
.reset_index()
res.columns.name = ''
Date 1 2 3
0 2/1/1996 0.5909 0.5711 0.5845
1 3/1/1996 0.5874 0.5695 0.5840
请在问题正文中添加图片!发布代码/文本,而不是代码或文本的图像。