Предположим, у меня есть следующее dataframe
:
df = pd.DataFrame(
{
'A': ['a', 'a', 'b', 'b'],
'B': [10, 8, 6, 4],
'C': [9, 7, 5, 3]
}
)
Я хочу добиться этого:
df.groupby('A').B.apply(lambda x: x.diff())
Но я бы хотел, чтобы diff()
был между B
и C
вместо B
и B
(надеюсь, это имеет смысл). Я могу сделать что-то вроде этого, чтобы достичь diff()
Я хочу:
df.C.shift(-1)-df.B
Но я застрял на том, как я должен включить это в мои groupby
лог c.
Конечный результат будет выглядеть так:
0 NaN
1 -3.0
2 NaN
3 -3.0
Есть идеи?