我正在尝试在 Pandas 中编写一个 lambda 函数来检查 Col1 是否为 Nan,如果是,则使用另一列的数据。我在获取代码(下方)以正确编译/执行时遇到问题。
import pandas as pd
import numpy as np
df=pd.DataFrame({ 'Col1' : [1,2,3,np.NaN], 'Col2': [7, 8, 9, 10]})
df2=df.apply(lambda x: x['Col2'] if x['Col1'].isnull() else x['Col1'], axis=1)
有没有人知道如何使用 lambda 函数编写这样的解决方案,或者我是否超出了 lambda 的能力?如果没有,您还有其他解决方案吗?谢谢。
原文由 Tyler Russell 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要
pandas.isnull
检查标量是否为NaN
:但更好的是使用
Series.combine_first
:另一个解决方案
Series.update
: