python-3.x - 如何使用 Pandas 从 CSV 文件的日期列中提取特定日期集?
问题描述
我想从我的 CSV 文件的日期列中访问一些特定值并保存到另一个。
这里'f'是我的csv文件的数据框,“now”是当前日期,“f['Date']”是必须操作的列,LOGIC:
如果当天是星期一,那么我从当前日期减去 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=14-04-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)
推荐阅读
- r - 使用 rmarkdown + plotly 轴标题与轴刻度重叠
- spring-cloud-dataflow - Spring Cloud 数据流自定义应用属性
- vb.net - 对输入的数字进行测验
- laravel - 如何渴望加载多态关系的不同嵌套关系?
- google-cloud-platform - 如何在谷歌云上部署播放应用程序
- c# - 将字段添加到 ac# 嵌入式不和谐消息
- java - 如何用数组更新表中的行
- javascript - 为什么执行 Get 后会收到 12031 错误消息
- python - 有没有办法在 DataFrame 中找到子字符串?
- python - 如何过滤 SQLAlchemy 中列的 SQL 查询?