Python 基于条件的百分比变化
我想做的是计算从周一到周五的百分比变化。另外,本周的某个时间从周二开始,如图所示Python 基于条件的百分比变化,python,pandas,Python,Pandas,我想做的是计算从周一到周五的百分比变化。另外,本周的某个时间从周二开始,如图所示 Data = { ‘Date’ : [‘8/24/2018’, ‘8/23/2018’, ‘8/22/2018’, ‘8/21/2018’, ‘8/20/2018’, ‘8/17/2018’, ‘8/16/2018’], “Day of Week’ : [ ‘Friday’, ‘Thursday’, ‘Wednesday’, ‘Tuesday’,’Monday’, ‘Friday’, ‘Thursday’], ‘P
Data = { ‘Date’ : [‘8/24/2018’, ‘8/23/2018’, ‘8/22/2018’, ‘8/21/2018’, ‘8/20/2018’, ‘8/17/2018’, ‘8/16/2018’], “Day of Week’ : [ ‘Friday’, ‘Thursday’, ‘Wednesday’, ‘Tuesday’,’Monday’, ‘Friday’, ‘Thursday’], ‘Price’ : [120.3, 121.2, 119.98,120.03,123.6,120.5,122.5] }
def week_pct_chng (row):
If row[‘Day of Week’] == “Friday” and row[‘Day of Week’].shift(1) == ‘Monday’:
Return ( the percentage of Monday to Friday)
Else:
Return(‘NaN’)
我不知道报税表上写了什么。
我的答案应该是-.026
请帮助,谢谢您可以使用
pct\u change
计算整个Price
列的百分比变化,然后找到您感兴趣的地方:
设置:
代码:
它以序列形式返回值:
5 -0.025081
Name: percent_change, dtype: float64
我能够计算从周一到周五的百分比变化,但是我的问题是,一周的某个时间从周二开始 这是因为数据量小。当我在一个1000多个值的大数据上尝试它时,有多个“星期一”和“星期五”,我得到:“Series([],Name:Percent Change,dtype:float64”
df['percent_change'] = df.Price.pct_change()
df.loc[(df['Day of Week'] == 'Friday') & (df['Day of Week'].shift() == 'Monday'), 'percent_change']
5 -0.025081
Name: percent_change, dtype: float64