首页 > 解决方案 > Pandas 数据框中的日期字段比较问题

问题描述

我有一个 pandas DataFrame ('df'),我试图过滤该date列以仅包含 2020 年之前的数据。我尝试了两种方法来识别正确的日期轴,并且无论日期是什么,两者都始终为 True。有什么建议么?

方法#1:

df['jan2020'] = pd.to_datetime('2020-01-01')
for row in range(df.shape[0]):
    df['boolCol'] = (df.iloc[row,0] <= df['jan2020'])
df.head(500)

方法#2:

df['date'] = pd.to_datetime(df['date'])
start_date = df['date'].min()
end_date = pd.to_datetime('2020-01-01')
mask = (df['date'] >= start_date) & (df['date'] <= end_date)
df['mask']=mask
print(df['mask'])

标签: pythonpandasdataframe

解决方案


尝试类似的东西df = df[pd.to_datetime(df['date']) < '2020-01-01']


推荐阅读