如何使用.loc根据日期字段进行过滤

问题描述 投票:0回答:1

[最近,我开始使用Python玩耍,并且一段时间以来一直困扰于与Pandas有关的问题(尤其是.loc)。基本上,我只是试图操纵数据框,使其仅保留某些日期范围。

当我过滤一个特定日期时,该命令可以完美运行,但是一旦切换到某个范围,它就不会运行。另外,任何其他变量类型都可以正常工作-我很惊讶,因为人们必须一直过滤日期。我需要转换日期吗?

# this works perfectly fine
raw_data.loc[raw_data['date_field'] == '2019-06-20', 'id':'date_field']

# this does not
raw_data.loc[raw_data['date_field'] >= '2019-06-20', 'id':'date_field']

我收到类型错误:

TypeError跟踪(最近一次通话)

现在,我已经尝试过对日期字段进行各种不同的转换,但是仍然会遇到相同的错误。是否可以使用.loc过滤日期?

python pandas jupyter
1个回答
0
投票

我认为这里有必要将列转换为日期时间:

raw_data['date_field'] = pd.to_datetime(raw_data['date_field'])
raw_data.loc[raw_data['date_field'] >= '2019-06-20', 'id':'date_field']
© www.soinside.com 2019 - 2024. All rights reserved.