最近,我开始使用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过滤日期吗?
答案 0 :(得分:1)
我认为这里有必要通过to_datetime
将列转换为日期时间:
raw_data['date_field'] = pd.to_datetime(raw_data['date_field'])
raw_data.loc[raw_data['date_field'] >= '2019-06-20', 'id':'date_field']