使用多索引熊猫移动行

时间:2019-04-05 16:42:59

标签: python pandas indexing timestamp

我要创建一个由三列组成的库存表:

数量纪念日-1 |交易数量数量第0天

股票的格式如下:

> df
Date        Stock     Quantity
2019-04-01  ALSC3      19600
            AMAR3      3080
2019-04-02  ALSC3       4000
            AMAR3      3070

我希望简单的移位就能匹配索引(Date,StockTicker),但实际上它会忽略索引并完全移位行。

Date        Stock     Quantity Day-1
2019-04-01  ALSC3      3080
            AMAR3      4000
2019-04-02  ALSC3      3070 
            AMAR3      NaN

有人知道如何正确执行它吗?我想要这样的东西:

Date        Stock     Quantity     Quantity Day -1
2019-04-01  ALSC3      19600       4000
            AMAR3      3080        3070
2019-04-02  ALSC3      4000        NaN
            AMAR3      3070        NaN

1 个答案:

答案 0 :(得分:1)

假设日期索引是不重复的,您就在这里。

df.Quantity.groupby(level=1).shift(-1)

这与您的预期输出匹配。尽管我认为“第1天数量”是shift()而不是shift(-1)