![](/img/trans.png)
[英]Python Pandas read_csv reads only single line from CSV file
[英]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.