无法在熊猫数据框过滤日期

时间:2019-01-31 12:54:43

标签: python pandas

我有一个包含多个列,并且它们中的一个被称为Date,并且具有2018的日期值那样的.csv文件:

enter image description here

的格式为Date在该.csv此列。

我要在源代码中进行以下操作:

import pandas as pd

# Load data
data_daily = pd.read_csv('Desktop/data_daily.csv', keep_default_na=True)

# Filter data_daily down to only October
data_daily = data_daily[(data_daily['Date'] > '01/10/2018') & (data_daily['Date'] < '31/10/2018')]

# Save as a new .csv file
data_daily.to_csv('Desktop/final.csv', index=False)

但是,最终的.csv文件包含所有日期,而不仅仅是我想要的日期。

我不知道这是否有差别,但请记住,存在具有相同的日期多行。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

首先在read_csv中添加参数parse_dates以便将列解析为日期时间:

data_daily = pd.read_csv('Desktop/data_daily.csv',
                         keep_default_na=True, 
                         parse_dates=['Date'],
                         dayfirst=True)

然后将您的解决方案或替代方法与between一起使用,将字符串转换为Timestamp

s = pd.Timestamp('2018-10-01')
e = pd.Timestamp('2018-10-31')
data_daily = data_daily[data_daily['Date'].between(s, e, inclusive=False)]