假设我有以下pandas DataFrame
df = pd.DataFrame(data=dict(a=[1], b=[None]))
我想用列b
中的值来填充列a
中的值。
我绝对可以做到
df = df.fillna(value={"b": df["a"]})
或使用inplace=True
。
现在,如果我想使用方法链接。因为我还有其他方法可以更改/修改a和b,所以我不希望在方法链中的那个点之前对fillna进行求值。
我设法将pipe
与回调一起使用
df = df.pipe(lambda df: df.fillna(value={"b": df["a"]}))
这可行,但是有更好的方法吗?上面是一个最小的示例,在实际情况下,该链需要更多的步骤。
感谢您的帮助。