Python仅在比较csv中的日期时读取天数

Python仅在比较csv中的日期时读取天数,python,pandas,Python,Pandas,假设这是我的代码: df = pd.read_table('file_name', sep=';') pd.Timestamp("today").strftime(%d.%m.%y) df = df[(df['column1'] < today)] df 如您所见,我从csv文件导入了一个表。我只需要在今天(2018年10月16日)之前查看日期,但当我运行代码时,我得到的就是这些 Column 1 05.11.2018 01.11.2018 01.08.2018 01.0

假设这是我的代码:

df = pd.read_table('file_name', sep=';')
pd.Timestamp("today").strftime(%d.%m.%y)
df = df[(df['column1'] < today)]
df
如您所见,我从csv文件导入了一个表。我只需要在今天(2018年10月16日)之前查看日期,但当我运行代码时,我得到的就是这些

Column 1    
05.11.2018  
01.11.2018  
01.08.2018
01.08.2018
这意味着Python只看日子而忽略月份,这是错误的。我需要它来理解这是一个约会而不仅仅是数字。我该怎么做才能做到这一点


PS我是Python新手

您应该将列转换为日期类型,而不是字符串,因为字符串是按字典进行比较的

因此,您可以使用以下方法对其进行转换:

# convert the strings to date(time) objects
df['column1'] = pd.to_datetime(df['column1'], format='%d.%m.%Y')
然后可以将其与
日期
对象进行比较,如:

>>> from datetime import date
>>> df[df['column1'] < date.today()]
     column1
0 2018-02-27
1 2018-05-11
2 2018-05-22
3 2018-01-11
4 2018-01-08
5 2018-01-08
7 2018-08-22 
>>自日期时间导入日期
>>>df[df['column1']
它将项目视为字符串。
pd.Timestamp(“今天”).strftime(%d.%m.%y)
无效。我还怀疑它不起作用。使用
来\u datetime
@WillemVanOnsem道歉如果我听起来太简单,我对python很陌生,非常感谢!
>>> from datetime import date
>>> df[df['column1'] < date.today()]
     column1
0 2018-02-27
1 2018-05-11
2 2018-05-22
3 2018-01-11
4 2018-01-08
5 2018-01-08
7 2018-08-22