python - python 根据上个月的最后一个值计算 pct_change()
问题描述
我正在尝试从上个月的最后一个值计算回报,这是示例数据框,每日值。我不知道如何使用 pct_change() 函数来实现这一点
样本df
date value
31/07/2020 141.793,00
03/08/2020 145.401,00
04/08/2020 124.534,00
05/08/2020 147.562,00
06/08/2020 131.043,00
07/08/2020 132.556,00
10/08/2020 140.874,00
11/08/2020 128.603,00
01/09/2020 131.451,00
02/09/2020 137.862,00
03/09/2020 130.439,00
04/09/2020 124.608,00
07/09/2020 133.674,00
08/09/2020 126.454,00
09/09/2020 136.488,00
目标
我需要计算每天当前的每月累计回报。当天的返回值应该是上个月最后一个值的返回值。像这样的东西:
date value monthly
31/07/2020 141.793,00 NaN
03/08/2020 145.401,00 0,025445544
04/08/2020 124.534,00 -0,12171969
05/08/2020 147.562,00 0,040686071
06/08/2020 131.043,00 -0,075814744
07/08/2020 132.556,00 -0,06514426
10/08/2020 140.874,00 -0,006481279
11/08/2020 128.603,00 -0,093022928
01/09/2020 131.451,00 0,022145673
02/09/2020 137.862,00 0,071996765
03/09/2020 130.439,00 0,014276494
04/09/2020 124.608,00 -0,031064594
07/09/2020 133.674,00 0,039431429
08/09/2020 126.454,00 -0,016710341
09/09/2020 136.488,00 0,061312722
解决方案
我相信您可以通过以下方式获得所需的东西。
用于str.replace
替换,
,然后转换为float
,然后应用pct_change()
并返回一个新列:
df['monthly'] = df['value'].str.replace(',','').astype(float).pct_change()
打印:
date value monthly
0 31/07/2020 141.793,00 NaN
1 2020-03-08 00:00:00 145.401,00 0.025446
2 2020-04-08 00:00:00 124.534,00 -0.143513
3 2020-05-08 00:00:00 147.562,00 0.184913
4 2020-06-08 00:00:00 131.043,00 -0.111946
5 2020-07-08 00:00:00 132.556,00 0.011546
6 2020-10-08 00:00:00 140.874,00 0.062751
7 2020-11-08 00:00:00 128.603,00 -0.087106
8 2020-01-09 00:00:00 131.451,00 0.022146
9 2020-02-09 00:00:00 137.862,00 0.048771
10 2020-03-09 00:00:00 130.439,00 -0.053844
11 2020-04-09 00:00:00 124.608,00 -0.044703
12 2020-07-09 00:00:00 133.674,00 0.072756
13 2020-08-09 00:00:00 126.454,00 -0.054012
14 2020-09-09 00:00:00 136.488,00 0.079349
推荐阅读
- java - 使用 java 代码删除目录发送已被其他进程使用的错误文件
- algorithm - 我的 padovan 系列代码有什么问题?
- javascript - 限制画笔框的最小和最大宽度
- mysql - 我需要遵循哪些步骤才能将数据从 oracle 数据库迁移到 AWS rds mysql?
- instagram - 如何在 Instagram 照片 URL 中获取大照片
- html - CSS动画在浏览器中有所不同
- certificate - 从 cmd 导入 .cer 证书
- python - 熊猫数据框中的分组匹配
- mysql - 如果孩子被删除,则自动删除父母
- javascript - Javascript“If”语句或“&&”逻辑运算符