热线电话:13121318867

登录
2019-02-17 阅读量: 1167
'int'和'slice'实例之间不支持'<'

我有以下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

0.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子