Как рассчитать процентное изменение по 2 столбцам в кадре данных, используя pct_change в Python - PullRequest
0 голосов
/ 15 мая 2019

У меня есть датафрейм, и я хочу использовать метод pct_chg для вычисления% изменения только между 2 из выбранных столбцов, B и C, и поместить вывод в новый столбец.приведенный ниже код не работает.Может кто-нибудь мне помочь?

df2 = pd.DataFrame(np.random.randint(0,50,size=(100, 4)), columns=list('ABCD'))

df2['new'] = df2.pct_change(axis=1)['B']['C']

Ответы [ 3 ]

1 голос
/ 15 мая 2019

IIUC, вы можете просто сделать следующее:

df2['new'] = (df2['C']-df2['B'])/df2['B']
1 голос
/ 15 мая 2019

pct_change возвращает pct_change во всех столбцах, вы можете выбрать необходимый столбец и назначить новую переменную.

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
0 голосов
/ 15 мая 2019

Попробуйте:

df2['new'] = df2[['B','C']].pct_change(axis=1)['C']
...