Python 传递列表喜欢。日期不再支持带有任何缺少标签的loc或[]
我正在尝试使用 以下日期范围:Python 传递列表喜欢。日期不再支持带有任何缺少标签的loc或[],python,pandas,indexing,time-series,Python,Pandas,Indexing,Time Series,我正在尝试使用 以下日期范围: dtr = pd.date_range(start='2005-01-01',end='2020-01-01',freq='Y').date 对于数据帧 ECL ED EFX EMN EMR EQIX Date
dtr = pd.date_range(start='2005-01-01',end='2020-01-01',freq='Y').date
对于数据帧
ECL ED EFX EMN EMR EQIX
Date
2004-12-31 29.188265 21.974245 23.909544 14.893614 21.059916 35.216614
2005-01-03 28.747896 21.748219 24.386028 14.782673 20.639318 35.612129
2005-01-04 28.382326 21.682922 23.535154 13.464359 20.398973 34.928238
2005-01-05 28.108135 21.446857 23.679798 13.314729 20.215719 34.203125
2005-01-06 28.191223 21.471962 23.484104 13.593354 20.347906 34.491512
2005-01-07 28.025047 21.532238 23.381994 13.482425 20.167650 34.120735
2005-01-10 28.274302 21.808495 23.288401 13.510804 20.215719 34.788147
2005-01-11 28.041676 21.768312 23.237345 13.392123 20.380947 34.417366
2005-01-12 27.966890 21.838623 23.271381 13.392123 20.308853 34.598637
2005-01-13 27.617929 21.843651 23.169277 13.294093 20.065500 33.815876
过去
df.loc[dtr]
用于解决我的问题,但在较新版本的pandas中,它会抛出错误:
KeyError:“传递列表喜欢。不再支持带有任何缺少标签的loc或[],请参阅。”
哪一种是“新的”正确方法?正如它所建议的那样
df.reindex(dtr)
?不完全确定您期望的输出是什么,您缺少键,因此这些行应该全部NaN
还是完全删除?最大的麻烦可能是由于NaN
而导致的向上投射。正如它所建议的df.reindex(dtr)
?不完全确定您期望的输出是什么,您缺少键,因此这些行应该全部NaN
还是完全删除?由于NaN
,最大的烦恼可能是向上投射。