繁体   English   中英

计算每列变化的百分比变化

[英]Calculate percentage change at every variation of a column

我需要在col3的每个变化中计算col2df['col4']= df.pct_change() 我用手计算col4以便更好地解释我的问题。 谢谢

DataCreazione col2 col3 col4
2021-02-17 00:00:00 10.55 0 0
2021-02-17 00:00:00 12.55 0 0.1895
2021-10-05 00:00:00 14.55 0 0.1593
2021-10-05 00:00:00 10.55 0 -0.2749
2021-09-15 00:00:00 9.45 1 0
2021-10-02 00:00:00 8.65 1 -0.08465
2021-10-05 00:00:00 8.65 1 0

我们试试看

df['out'] = (df.groupby('col3', group_keys=False)
             .apply(lambda g: g['col2'].pct_change())
             .fillna(0))
print(df)

         DataCreazione   col2  col3     col4       out
0  2021-02-17 00:00:00  10.55     0  0.00000  0.000000
1  2021-02-17 00:00:00  12.55     0  0.18950  0.189573
2  2021-10-05 00:00:00  14.55     0  0.15930  0.159363
3  2021-10-05 00:00:00  10.55     0 -0.27490 -0.274914
4  2021-09-15 00:00:00   9.45     1  0.00000  0.000000
5  2021-10-02 00:00:00   8.65     1 -0.08465 -0.084656
6  2021-10-05 00:00:00   8.65     1  0.00000  0.000000

我有类似的愿望是这样的:

df['col5'] = df.groupby(by=['col3']).col2.pct_change().fillna(0)


DataCreazione            col2  col3     col4      col5
0  2021-02-17 00:00:00  10.55     0         0  0.000000
1  2021-02-17 00:00:00  12.55     0    0.1895  0.189573
2  2021-10-05 00:00:00  14.55     0    0.1593  0.159363
3  2021-10-05 00:00:00  10.55     0   -0.2749 -0.274914
4  2021-09-15 00:00:00   9.45     1         0  0.000000
5  2021-10-02 00:00:00   8.65     1  -0.08465 -0.084656
6  2021-10-05 00:00:00   8.65     1         0  0.000000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM