[英]Calculate percentage of change between multiple pairs of columns grouped by another column
我有以下數據框:
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
在 OCT20 和x: pct_change
之間,然后是 NOV20 和 DEC20 等。然后對於y
。
有關如何執行此操作的任何幫助?
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())
設置索引並使用 pct_change
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.