我有一个包含多个列,并且它们中的一个被称为Date
,并且具有2018的日期值那样的.csv文件:
的格式为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文件包含所有日期,而不仅仅是我想要的日期。
我不知道这是否有差别,但请记住,存在具有相同的日期多行。
我该如何解决?
答案 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)]