具有Nan支持的Pandas Lambda函数

具有Nan支持的Pandas Lambda函数,第1张

具有Nan支持的Pandas Lambda函数

您需要

pandas.isnull
检查标量是否为
NaN

df = pd.Dataframe({ 'Col1' : [1,2,3,np.NaN],      'Col2' : [8,9,7,10]})df2 = df.apply(lambda x: x['Col2'] if pd.isnull(x['Col1']) else x['Col1'], axis=1)print (df)   Col1  Col20   1.0     81   2.0     92   3.0     73   NaN    10print (df2)0     1.01     2.02     3.03    10.0dtype: float64

但更好的是使用

Series.combine_first

df['Col1'] = df['Col1'].combine_first(df['Col2'])print (df)   Col1  Col20   1.0     81   2.0     92   3.0     73  10.0    10

另一个解决方案

Series.update

df['Col1'].update(df['Col2'])print (df)   Col1  Col20   8.0     81   9.0     92   7.0     73  10.0    10


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存