Как посчитать разницу значений колонок?
Вопрос вроде не сложный, но не могу решить. Есть таблица из двух колонок и индексного столбца дат. Надо создать третью колонку, и поместить в неё разницу между значениями первой колонки сего дня и второй колонки предыдущего дня.
df = pd.DataFrame({'col01': np.random.rand(100),
'col02' : np.random.rand(100)},
index = pd.date_range('1/1/2000', periods=100, freq='B'))
df
Получится следующая таблица:
Значение третьей колонки должно выглядеть:
df['col03'] = 0
df.loc['2000-01-03', 'col03'] = df.loc['2000-01-03', 'col02'] - df.loc['2000-01-04', 'col01']
Но только для всего столбца.
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
Вы не поверите:
df = pd.DataFrame({'col01': np.random.rand(100),
'col02' : np.random.rand(100)},
index = pd.date_range('1/1/2000', periods=100, freq='B'))
df['col03'] = df['col02']-df['col01'].shift(1)
ваш df (разумеется, числа у нас будут разные):
col01 col02 col03
2000-01-03 0.049760 0.292412 NaN
2000-01-04 0.792802 0.022108 -0.027652
2000-01-05 0.411132 0.252973 -0.539829
2000-01-06 0.231647 0.300546 -0.110586
2000-01-07 0.680433 0.676711 0.445064
... ... ... ...
2000-05-15 0.733525 0.412041 -0.083264
2000-05-16 0.401303 0.803666 0.070141
2000-05-17 0.496733 0.047584 -0.353719
2000-05-18 0.237565 0.980574 0.483840
2000-05-19 0.539980 0.143298 -0.094267
