如何使用 Python 中的 pct_change 计算数据框中两列的百分比变化
how to calculate percentage changes across 2 columns in a dataframe using pct_change in Python
我有一个数据框,想使用 pct_chg 方法来计算所选列 B 和 C 中仅 2 个列之间的百分比变化,并将输出放入一个新列中。下面的代码似乎不起作用。谁能帮我?
df2 = pd.DataFrame(np.random.randint(0,50,size=(100, 4)), columns=list('ABCD'))
df2['new'] = df2.pct_change(axis=1)['B']['C']
尝试:
df2['new'] = df2[['B','C']].pct_change(axis=1)['C']
IIUC,您只需执行以下操作即可:
df2['new'] = (df2['C']-df2['B'])/df2['B']
pct_change returns pct_change 在所有列中,您可以 select 所需的列并分配给新变量。
df2['new'] = df2.pct_change(axis=1)['C']
A B C D new
0 29 4 29 5 6.250000
1 14 35 2 40 -0.942857
2 5 18 31 10 0.722222
3 17 10 42 41 3.200000
4 24 48 47 35 -0.020833
我有一个数据框,想使用 pct_chg 方法来计算所选列 B 和 C 中仅 2 个列之间的百分比变化,并将输出放入一个新列中。下面的代码似乎不起作用。谁能帮我?
df2 = pd.DataFrame(np.random.randint(0,50,size=(100, 4)), columns=list('ABCD'))
df2['new'] = df2.pct_change(axis=1)['B']['C']
尝试:
df2['new'] = df2[['B','C']].pct_change(axis=1)['C']
IIUC,您只需执行以下操作即可:
df2['new'] = (df2['C']-df2['B'])/df2['B']
pct_change returns pct_change 在所有列中,您可以 select 所需的列并分配给新变量。
df2['new'] = df2.pct_change(axis=1)['C']
A B C D new
0 29 4 29 5 6.250000
1 14 35 2 40 -0.942857
2 5 18 31 10 0.722222
3 17 10 42 41 3.200000
4 24 48 47 35 -0.020833