熊猫按日期过滤数据格式不同的格式

时间:2018-07-26 16:54:01

标签: python pandas csv date dataframe

所以我将csv文件加载到熊猫数据帧中没有任何问题。

df = pd.read_csv(filename,na_values=[""])

csv中有一列名为date_GMT的日期,其日期格式为Jun 29 2017-2:00 pm。问题在于,当我进行比较以过滤出示例时,会将此值视为字符串。如何将其视为日期。

df=df[(df['date_GMT'] < datetime.date(year=2017,month=8,day=25))]

我尝试了此操作,因为它无法比较字符串和日期,因此无法正常工作。

1 个答案:

答案 0 :(得分:1)

在进行比较之前转换为datetime

df = pd.DataFrame({'col': ['Jun 29 2017 - 2:00pm', 'Sep 2 2018 - 4:00pm',
                           'Jan 15 2017 - 6:00am', 'Mar 29 2018 - 11:00pm']})

df['col'] = pd.to_datetime(df['col'])

print(df.loc[df['col'] < '2017-08-25'])

                  col
0 2017-06-29 14:00:00
2 2017-01-15 06:00:00

更好的是,您可以在读取文件时指定datetime列:

df = pd.read_csv(filename, parse_dates=['date_GMT'])