use*_*757 2 python date dataframe pandas datetimeindex
我有一个带有日期索引的数据框.我想创建一个具有滞后值的新列.也就是说,laggedfoo(1aug2016)= foo(1july2016)
我使用了dataframe.shift,但它没有按预期运行; 我可以破解它的工作,但我想我错过了如何处理和转移日期指数的大局.
当我向前移动1'时,而不是转移到下个月,它会转移到当月的月末.(2016年7月1日成为2016年7月30日,而非1Aug2016).
我可以换乘2并得到我想要的东西,但我担心我错过了使用shift和freq参数的一些基本想法
我认为您需要更改频率month start frequency- MS- 请参阅offset-aliases:
import pandas as pd
fwd_df = pd.DataFrame({'Dubai m1': {pd.Timestamp('2016-08-01 00:00:00'): 3, pd.Timestamp('2016-07-01 00:00:00'): 2, pd.Timestamp('2016-09-01 00:00:00'): 4, pd.Timestamp('2016-06-01 00:00:00'): 1}})
print (fwd_df['Dubai m1'])
2016-06-01 1
2016-07-01 2
2016-08-01 3
2016-09-01 4
Name: Dubai m1, dtype: int64
print (fwd_df['Dubai m1'].shift(1, freq='MS'))
2016-07-01 1
2016-08-01 2
2016-09-01 3
2016-10-01 4
Freq: MS, Name: Dubai m1, dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3636 次 |
| 最近记录: |