Учитывая следующее df:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(1,3, (10,2)), columns=['a','b']).sort_values(['a'])
Теперь я хотел бы заменить все значения в каждой группе на предыдущее значение в этой группе, за исключением первого значения в каждой группе, которое я хотел бызаменить на 0.
Это не подойдет:
df.groupby("a", sort = False).transform(lambda g: g.shift(1).fillna(0))
, потому что я хочу заменить только first np.nan
( в каждой группе ) по 0