【发布时间】:2026-01-20 19:45:01
【问题描述】:
我正在使用此代码将 NaN 替换为范围内的随机值
import numpy as np
def processNan (x):
return np.random.choice([1.0, 2.0])
assure['codeTypePieceIdentite'] = assure['codeTypePieceIdentite'].apply(lambda x: processNan(x) if x is nan else x)
由于某种原因它无法正常工作,没有任何变化
【问题讨论】:
-
使用
np.nan而不是nan进行测试? -
实际上必须使用接受的答案中提到的 math.isnan(x)
-
要编写惯用的 pandas 代码,只要您正在处理 pandas 对象,就应该考虑使用
pd.isna(x)。请参阅下面的解释。
标签: python pandas dataframe random jupyter-notebook