如何使用 Pandas 从 CSV 文件的日期列中提取特定的日期集?

萨哈尔·加格

我想从我的 CSV 文件的日期列中访问一些特定的值并保存到另一个。

这里'f'是我的csv文件的数据框,“now”是当前日期,“f['Date']”是必须处理的列,逻辑:

如果当前日期是星期一,那么我从当前日期减去 2 天,然后将其存储在“day”中并访问 f['Date'] 列中的日期,这些日期与“day”日期相同。否则我们只减去 1 天并做同样的事情。

now = date.today()
curr_day= now.strftime("%A")
now = now.strftime("%Y-%m-%d")

f['Date'] = pd.to_datetime(f['Date'])
# f['Date'] = f['Date'].apply( lambda x : x.strftime("%Y-%m-%d"))
f['Date'] = f['Date'].astype(str)
if curr_day == 'Monday':

    day = datetime.datetime.strptime(now,"%Y-%m-%d").date() - timedelta(days=2)
    day= day.strftime("%Y-%m-%d")
    f['Date']=f.loc[f['Date']==day]

else:

    day = datetime.datetime.strptime(now,"%Y-%m-%d").date() - timedelta(days=1)
    day= day.strftime("%Y-%m-%d")
    f['Date']=f.loc[f['Date']==day]

我有一个日期可以说:DATE1,我只需要访问日期列中与 DATE1 等效的那些值并保存到新的 CSV 文件。

Date
01-Apr-19
02-Apr-19
03-Apr-19
14-Apr-19
18-Apr-19
14-Apr-19
14-Apr-19
14-Apr-19
01-Apr-19
10-Apr-19
01-Apr-19
01-Apr-19

假设 DATE1=04/14-2019

然后更新后的 CSV 看起来像

Date
14-Apr-19
14-Apr-19
14-Apr-19
14-Apr-19
阿克塞留斯


我假设您提供的日期格式并添加我的回复。我附上了您的解决方案的代码!

from datetime import datetime, timedelta
import pandas as pd

data['date'] = pd.to_datetime(data['Date'],format='%d-%b-%y')
data['date'] = data['date'].apply(lambda x: x.date())
now = datetime.now()
day = now.strftime("%A")
if day=='Monday':
    days_to_subtract = 2
    date_filter = datetime.today() - timedelta(days=days_to_subtract)
    new_data = data.loc[data['date']==(date_filter).date()]
    new_data.drop('date',1,inplace = True)
    new_data.reset_index(drop=True,inplace = True)
else:
    days_to_subtract = 1    
    date_filter = datetime.today() - timedelta(days=days_to_subtract)
    new_data = data.loc[data['date']==(date_filter).date()]
    new_data.drop('date',1,inplace = True)
    new_data.reset_index(drop=True,inplace = True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 Pandas 从 csv 文件的列中提取日期?

使用 Pandas 从 CSV 文件中提取值

使用 Python Pandas 更改 csv 的日期列

如何使用 Pandas 修改特定的 csv 文件

使用 pandas 从 csv 文件中提取数据时出现错误

如何使用Pandas从GitHub读取CSV文件

如何使用 Pandas 正确读取 csv 文件?

如何使用 Pandas 自动解析 CSV 中的日期时间

使用pandas.to_csv时如何指定日期格式?

使用日期索引从多个csv文件创建pandas DataFrame

如何从csv文件的特定列中过滤日期范围?

Pandas 使用 csv 输入处理日期时间

如何使用终端从csv文件中提取列

从 .csv 文件中的 Pandas 日期时间列中仅提取月份和年份(Python)

如何使用從 HTML 文件導入的 Pandas 從數據集中提取特定列?

如何使用pandas检查csv文件中的特定字符

如何从pandas列中提取特定信息?

从CSV文件的名称中提取日期

如何使用 Pandas 合并 CSV 文件中的多列?

如何使用Pandas在python的CSV文件中显示列?

如何使用 Pandas 编辑 .CSV 文件中的列

按日期排序并使用Pandas数据框从第二列中提取唯一值

如何将特定列中的文件CSV日期转换为UNIX日期

如何从“pandas.core.series.Series”中提取日期?

如何使用Powershell从多个csv文件中提取一个特定的列(没有标题,说第2列)?

如何将csv文件中的日期和时间的两列合并到pandas中的1 datetime列?

从日期列 pandas 中提取月份名称

如何使用列表(datetime.timedelta)中的循环特定日期并提取到不同的csv文件

如何使用Pandas处理.csv文件中的数据并访问特定的行和列?