我在水蟒熊猫0.18.1上。 我以前在pandas 12上这样做是为了在多索引数据帧中延迟一些值,其中索引级别0=日期,索引级别1=安全ID(3年的每日数据):
In [1]: testDB.head(2)
Out[1]:
<class 'pandas.core.frame.DataFrame'>
MultiIndex: 2 entries, (2013-01-01, 000312) to (2013-01-01, 00036020)
Columns: 140 entries, in_universe to alpha_Tile
In[2]:
# lag a certain field:
#lag alphas
A_LAGS=[0,1,2,3,5,10,30,60,90]
grouped=testDB.groupby(level=1)['alpha']
for lag in A_LAGS:
lagName='lagA_'+str(int(lag))
testDB[lagName]=grouped.shift(periods=lag) # move old ones forward
现在在熊猫18号,这一切永远不会结束。我是说,从来没有-4小时就走。 我知道熊猫处理日期的方式发生了变化,所以我尝试使用tshift-does-not-work并抱怨“freq-not-set”。事实上并非如此(框架是从包含日期、标识符和其他数据的h5文件构建的):
^{pr2}$所以我试着用适当的频率设置将索引重置为DateTimeIndex。在
^{3}$现在设置了频率,但我无法替换索引:
In [5]:y = x.reindex(index=i,level=0)
y.index.levels[0]
Out[5]:
DatetimeIndex(['2016-01-01', '2016-01-04', '2016-01-05', '2016-01-06',
'2016-01-07', '2016-01-08', '2016-01-11', '2016-01-12',
'2016-01-13', '2016-01-14',
...
'2016-11-17', '2016-11-18', '2016-11-21', '2016-11-22',
'2016-11-23', '2016-11-24', '2016-11-25', '2016-11-28',
'2016-11-29', '2016-11-30'],
dtype='datetime64[ns]', name=u'date', length=239, freq=None)
因此,最后(为冗长的介绍致歉,我想提供完整的数据)两个问题:
目前没有回答
相关问题 更多 >
编程相关推荐