2024-03-29 15:54:04 发布
网友
我有以下数据帧:
VAR1 OCT20 NOV20 DEC20 JAN21 ... x 1 1.6 2.4 3.3 y 2.1 1 0.7 5.4 z 2 3.1 0.5 2.1
我想计算的是,VAR1列中的每一行,每个月之间的变化百分比(与之前的一个月相比,不是所有可能的对)。 例如,对于x: pct_change在10月20日和10月20日之间,然后是11月20日和12月20日等。对于y也一样
x: pct_change
y
有关于如何做的帮助吗
在这里你可以使用shift
df_per = (df-df.shift(axis=1))/df.shift(axis=1)
设置索引并使用pct\U更改
df.set_index('VAR1').pct_change(axis=1) OCT20 NOV20 DEC20 JAN21 VAR1 x NaN 0.60000 0.50000 0.375000 y NaN -0.52381 -0.30000 6.714286 z NaN 0.55000 -0.83871 3.200000
import pandas as pd data = [['VAR1','OCT20', 'NOV20', 'DEC20','JAN21'], ['x',1,1.6,2.4,3.3], ['y',2.1,1,0.7,5.4], ['z',2,3.1,0.5,2.1]] df = pd.DataFrame(data[1:], columns=data[0]) df = df.T.iloc[1:] print(df.pct_change())
在这里你可以使用shift
设置索引并使用pct\U更改
相关问题 更多 >
编程相关推荐