如何仅从最近的星期一开始接受数据

Slartibartfast

我有以下代码:

import pandas as pd
from pandas import datetime
from pandas import DataFrame as df
import matplotlib
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime
import numpy as np

stock = '^GSPC'
start = datetime.date(2000,1,1)
end = datetime.date.today()
data = web.DataReader(stock, 'yahoo',start, end)
data.index = pd.to_datetime(data.index, format ='%Y-%m-%d')
data['Day Name'] = data.index.weekday_name
data.set_index('day',append=True,inplace=True)
data.set_index('Day Name', append=True, inplace=True)
data['pct_day']= data['Adj Close'].pct_change()
df = data.groupby(['Day Name']).mean()
df = df.drop( index=['Saturday','Sunday'])
df = df.reindex(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'])

我需要在这里做的是,无论输入什么日期,都应仅从最近的星期一开始接受该数据,在此之前不接受任何数据。在此感谢您的任何帮助。

耶斯列尔

您可以先Monday使用删除值Series.eqSeries.cumsum然后使用不等于的0方式获得所有行Series.ne

data['Day Name'] = data.index.weekday_name

data = data[data['Day Name'].eq('Monday').cumsum().ne(0)].copy()

data.set_index('day',append=True,inplace=True)

另一个想法是使用Series.idxmax第一个索引值并传递给DataFrame.loc,仅Monday在数据中至少需要一个

data['Day Name'] = data.index.weekday_name

data = data.loc[data['Day Name'].eq('Monday').idxmax():]

data.set_index('day',append=True,inplace=True)

样品

rng = pd.date_range('2017-04-01', periods=10)
data = pd.DataFrame({'a': range(10)}, index=rng)  

data['Day Name'] = data.index.weekday_name
data = data[data['Day Name'].eq('Monday').cumsum().ne(0)].copy()
print (data)
            a   Day Name
2017-04-03  2     Monday
2017-04-04  3    Tuesday
2017-04-05  4  Wednesday
2017-04-06  5   Thursday
2017-04-07  6     Friday
2017-04-08  7   Saturday
2017-04-09  8     Sunday
2017-04-10  9     Monday

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

日历从星期一开始

如何使FreeCSD变体在星期一开始校准?

getdate [“ weekday”]如何从星期一开始而不是星期日开始?

我如何获得从星期一开始的星期几订单

Android日历-从星期一开始

JQuery 日历默认周从星期一开始

使用isoWeekday()从星期一开始

从星期一开始的周间隔查询

Datepicker Angularjs星期一开始

Bootstrap Datetimepicker从星期一开始

全日历周视图从星期一开始

从周数计算日期,周从星期一开始

每周对python pandas数据框进行分组(从星期一开始)

如何让 react-datepicker 在星期一开始一周中的几天?

当每周从星期一开始时,如何简化逻辑?

如何使Java日历从星期一开始工作日?

您如何为图表的刻度标签从每周的星期一开始?

如何获取周中从星期一开始到当前日期的天数

如何在自定义日历中从星期一开始数周

使用python,我如何从星期三而不是星期日或星期一开始我的几周?

选择当前星期,从星期一开始而不是星期日

假设星期几从星期一开始,从PostgreSQL的日期字段中提取星期几

如何从星期日而不是星期一开始在ng bootstrap Datepicker中启动日历周?

SAP HANA SQL-从星期几开始?WEEK()默认从星期一开始

从每年的04:00开始,从星期一开始获取星期数

Bootstrap 3 Datetimepicker 3.0.0-在星期一开始一个星期

在标准 sql 中获取从星期一开始的星期日期

获取从星期一开始的当前星期的日期数组

对大日历从星期一开始而不是星期天做出反应?