簡體   English   中英

Python pandas 僅在比較來自 csv 的日期時讀取天數

[英]Python pandas only reads days when comparing dates from csv

所以讓我們說這是我的代碼:

df = pd.read_table('file_name', sep=';')
pd.Timestamp("today").strftime(%d.%m.%y)
df = df[(df['column1'] < today)]
df

這是 csv 文件中的表格:

Column 1
27.02.2018
05.11.2018
22.05.2018
01.11.2018
01.08.2018
01.08.2018
16.10.2018
22.08.2018
21.11.2018

如您所見,我從 csv 文件導入了一個表格。 我只需要看到今天(16.10.2018)之前的日期,但是當我運行代碼時,這就是我得到的

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')

然后您可以將其與date對象進行比較,例如:

>>> 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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM