我有一个Pandas Dataframe df1,如下所示
print(df1)
W X Y Z
A -10 -9 -8 -7
B -6 -5 -4 -3
C -2 -1 0 1
D 2 3 4 5
E 6 7 8 9
我尝试按如下方式访问“A”和“B”
print (df1.loc[['A','B'], :])
W X Y Z
A -10 -9 -8 -7
B -6 -5 -4 -3
同样的方式,我有如下的销售数据框,其中数据类型的日期是日期时间;
print(sales.head())
Col1 Col2 Col3 Col4 Col5 Col6
Date
2015-01-02 0.000559 0.002772 0.002992 -0.001438 -0.002320 -0.002189
2015-01-05 -0.029050 -0.031515 -0.031223 -0.031045 -0.031258 -0.027422
2015-01-06 -0.029919 -0.035205 -0.020229 -0.025929 -0.028800 -0.020865
2015-01-07 0.004745 0.009270 0.014903 0.001526 0.014278 0.005951
2015-01-08 0.020661 0.015048 0.015965 0.022346 0.014889 0.022137
然而,当我有一个Dataframe,其中索引数据类型是Datetime,那么它的错误;
Print(sales.loc[['2015-01-02','2015-01-08'], :])
KeyError: "None of [Index(['2015-01-02', '2015-01-08'], dtype='object', name='Date')] are in the [index]"
当索引数据类型为Datetime时,我们不能使用索引选择特定行吗
请提出建议。
1条答案
按热度按时间bzzcjhmw1#
您可以通过添加
pd.to_datetime
使类型相同来更正筛选器: