допустим, у меня есть следующее pandas DataFrame
df = pd.DataFrame(data=dict(a=[1], b=[None]))
, и я хочу заполнить отсутствующие значения столбца b
значениями из столбца a
.
Iможет определенно сделать
df = df.fillna(value={"b": df["a"]})
или использовать inplace=True
.
Теперь, если я хочу использовать цепочку методов.Поскольку у меня есть другие методы, которые изменяют / модифицируют a и b, я не хочу, чтобы fillna оценивалась до тех пор, пока она не окажется в той точке цепочки методов.
Мне удалось использовать pipe
с обратным вызовомчерез
df = df.pipe(lambda df: df.fillna(value={"b": df["a"]}))
Это работает, но есть ли лучший способ сделать это?Выше приведен минимальный пример, цепочка, требующая больше шагов в реальном случае.
Спасибо за вашу помощь.