我有这个{
Close
Symbol Date
AA 1/20/1998 29.530121
1/14/2021 25.09
AIG 1/20/1998 485.831665
1/14/2021 41.299999
AXP 1/20/1998 17.698372
... ... ...
WMT 1/14/2021 146.970001
XOM 1/20/1998 15.515985
1/14/2021 50.310001
Symbol
和Date
是索引。有些例外情况下,符号只有一个日期(本例中为WMT)
我想要这个:
Start Date End Date Start Close End Close
Symbol
AA 1/20/1998 1/14/2021 29.530121 25.09
AIG 1/20/1998 1/14/2021 485.831665 41.299999
AXP 1/20/1998 1/14/2021 17.698372 123.78
... ... ... ... ...
VZ 1/20/1998 1/14/2021 14.96 57.040001
WMT 1/14/2021 Nan 146.970001 Nan
XOM 1/20/1998 1/14/2021 15.515985 50.310001
处理异常的其他方法(WMT)也可以。我只是设想第一次约会,并假设这是开始
我发现了this stack overflow post,它为类似的问题提供了透视表,但我无法对其进行调整。我试过这个:
test1 = df.reset_index()
pd.pivot_table(test1,index=['Symbol'],columns='Date',values='Close')
返回:
Date 1998-01-20 2021-01-14
Symbol
AA 29.530121 25.090000
AIG 485.831665 41.299999
AXP 17.698372 123.779999
BA 27.150482 209.910004
... ... ...
这将Symbol
与Close
合并在同一行中,但不处理我试图处理的日期。从那以后,我一直在查看pd.pivot_table
文档,但一直无法更进一步。你有什么建议吗
获取样本数据并重置索引
您可以按
Symbol
分组,并获取该组中的所有Date
和Close
,然后创建一个包含两个日期和两个结束日期的序列,该序列将作为与符号对应的行编辑:
有一种更简单的方法。可以使用unstack创建新列cumcount对组中的每个项目进行编号,用于知道每个组有多少行,以便相应地更新列
相关问题 更多 >
编程相关推荐