如何使用 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