python - 熊猫:同一天和同一月的年份 pct_change
问题描述
我在DataFrame
. 对于每个日期,我想将该数字除以上一年的数字(同一天和同一月)。2月29日可以忽略。
import pandas as pd
import numpy as np
idx = pd.date_range('2000-01-01', periods=1000)
df = pd.DataFrame(np.arange(1000), index=idx)
这是df
四个示例值的值:
In [11]: df.iloc[0:2]
Out[11]:
0
2000-01-01 0
2000-01-02 1
In [12]: df.iloc[366:368]
Out[12]:
0
2001-01-01 366
2001-01-02 367
我的预期输出将是 2000 年和 2001 年的缺失值:
2001-01-01 (366-0)/0=Inf (or Nan)
2001-01-02 (367-1)/1=366
我的方法是df.pct_change(freq='Y')
,但这只是提高了ValueError: cannot reindex from a duplicate axis
。我在这个 sim 中的预期输出
我还能如何做到这一点?
解决方案
推荐阅读
- docker - ASP.NET Core 构建具有共享库的 docker 映像
- django - 将基于类的视图转移到另一个
- wso2is - 自签名证书设置后,自注册在 wso2is 5.11.0 中不起作用
- spring-rabbit - Spring boot 和 CloudEvent AMQP 绑定
- javascript - 带有 if 语句的 TypeScript DeepMap Union 类型
- mysql - 确保父级的“父级”中没有重复项
- java - java aws cdk 找不到“jsii-runtime”可执行文件
- c++ - #定义一个模板方法
- excel - 在汇总变量 (Power Pivot) 旁边的 Power Pivot Table 中将 a 列显示为文本
- javascript - 创建一个新数组,计算某个参数在数组中出现的次数