python - 无法过滤 pandas 数据框中的日期

标签 python pandas

我有一个 .csv 文件,其中包含多列,其中一列称为 Date,并且具有 2018 年的日期值,如下所示:

enter image description here

此列的 .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 文件包含所有日期,而不仅仅是我想要的日期。

我不知道这是否会产生影响,但请记住,有多行具有相同的日期。

我该如何解决这个问题?

最佳答案

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

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

然后使用您的解决方案或替代方案 between将字符串转换为时间戳:

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

关于python - 无法过滤 pandas 数据框中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54461105/

相关文章:

python - 使用%timeit %% timeit在python中计时的方式如何保留/保留值以备后用

python - 为什么 float64 允许 NA,而 int32 不允许?

python - 如何在控制台中向已打印的表格添加新行?

python - 尽管等待 API 响应,但使用 asyncio 没有加速

python - Numpy - 模块没有属性 'arrange'

python - 通过相应的字典值组合 Pandas 列

python - 根据另一列记录一列的值 : Python & Pandas

python - 数据帧分割和丢弃

python - 将 pandas df 中的日期和时间列转换为时间戳

python - 如何将单词 "ActionAction-AdventureShooterStealth"拆分为单独的单词列表?