Python 切片多索引时间(第一级)类型错误:'<';在';int';和';切片';
我有以下带有日期时间索引('Date')的Panda DataFrame df 如果我想找到2019年2月以后的所有值,我知道我可以:Python 切片多索引时间(第一级)类型错误:'<';在';int';和';切片';,python,pandas,indexing,slice,Python,Pandas,Indexing,Slice,我有以下带有日期时间索引('Date')的Panda DataFrame df 如果我想找到2019年2月以后的所有值,我知道我可以: df.loc['02-2019':] 现在让我们假设我使用索引=['Date'、'Location'、'CP']制作df多重索引(数据透视和标记) df= Amount Date Location CP
df.loc['02-2019':]
现在让我们假设我使用索引=['Date'、'Location'、'CP']制作df多重索引(数据透视和标记)
df=
Amount
Date Location CP
2019-02-13 Chicago Bob -10.0
LA Marina -25.0
Bob -25.0
2019-02-14 Chicago Addison -10.0
当我尝试做同样的事情时
df.loc['02-2019':]
我得到以下错误
TypeError: '<' not supported between instances of 'int' and 'slice'
并获得相同的结果——但有没有一种方法可以在月/年上进行类似于单一指数的时间切片?
比如
或
切片与
字符串
一起工作的事实确实很方便。如果失败,请返回使用datetime64
进行切片,在不存在的日期和月份中添加1:
import pandas as pd
s = '2019'
df.loc[pd.to_datetime(s):]
# Amount
#Date Location CP
#2019-02-13 Chicago Bob -10.0
# LA Bob -25.0
# Marina -25.0
#2019-02-14 Chicago Addison -10.0
s = '02-2019'
df.loc[pd.to_datetime(s):]
# Amount
#Date Location CP
#2019-02-13 Chicago Bob -10.0
# LA Bob -25.0
# Marina -25.0
#2019-02-14 Chicago Addison -10.0
df.loc['02-13-2019':]
df.loc['2019':]
df.loc['02-2019':]
import pandas as pd
s = '2019'
df.loc[pd.to_datetime(s):]
# Amount
#Date Location CP
#2019-02-13 Chicago Bob -10.0
# LA Bob -25.0
# Marina -25.0
#2019-02-14 Chicago Addison -10.0
s = '02-2019'
df.loc[pd.to_datetime(s):]
# Amount
#Date Location CP
#2019-02-13 Chicago Bob -10.0
# LA Bob -25.0
# Marina -25.0
#2019-02-14 Chicago Addison -10.0