2017-09-16 38 views
0

我有时间索引的数据在数据帧的熊猫:如何从Pandas中的时间序列中减去累计值?

   aapl googl msft 
Date       
2016-09-19 113.58 795.39 56.93 
2016-09-20 113.57 799.78 56.81 
2016-09-21 113.55 805.03 57.76 
2016-09-22 114.62 815.95 57.82 
2016-09-23 112.71 814.96 57.43 
2016-09-26 112.88 802.65 56.90 
2016-09-27 113.09 810.73 57.95 
2016-09-28 113.95 810.06 58.03 
2016-09-29 112.18 802.64 57.40 
.... 

我想计算的聚合,并减去从每个值。

monthly = df.resample('1m').mean() 

        aapl  googl  msft 
Date           
2016-09-30 113.318000 806.125000 57.463000 
2016-10-31 115.707143 813.651905 58.397619 
2016-11-30 110.154286 784.736190 59.925238 
2016-12-31 114.335714 800.624286 62.118095 
... 

如何从原始值中减去这些聚合体?以对齐这两DataFrames

回答

1

的一种方式是使用transform代替agg

df - df.resample('1m').transform('mean') 

将从每个点减去相应的平均值。