我有以下Panda DataFrame df和日期时间索引('日期')
df=
CP Amount Location
Date
2019-02-13 Bob -5.0 Chicago
2019-02-13 Bob -5.0 Chicago
2019-02-13 Marina -25.0 LA
2019-02-13 Bob -25.0 LA
2019-02-14 Addison 5.0 Chicago
2019-02-14 Addison 5.0 Chicago
如果我想查找2019年2月以后的所有值,我知道我可以这样做:
df.loc['02-2019':]
现在让我们说我使用index = ['Date','Location','CP']制作我的df MultiIndex(旋转和agging)
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'
我知道我可以做到
df.loc['02-13-2019':]
并获得相同的结果 - 但有没有办法在月/年上做一个类似于单个索引的时间片?如
df.loc['2019':]
要么
df.loc['02-2019':]
解决办法:
切片工作的事实strings真的很方便。如果失败,请返回使用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








暂无数据