【发布时间】:2020-05-25 20:02:31
【问题描述】:
假设我有这样的示例代码
_d=pd.DataFrame([[1,2,3],[4,np.nan,6],[np.nan,np.nan,8]],columns=['x','y','z'])
现在,我有一个函数可以检查值并根据场景分配所需的值
def handling_nan(_d):
if _d['x']==1.0:
return 100
else:
return _d
当我在下面的代码中使用它时,
_result=_d.apply(lambda x:handling_nan(x))
_result
我遇到了错误
KeyError: ('x', '发生在索引 x')
更新 A:
嗯,简而言之,我正在使用来自 kaggle.com 的数据集,即。 泰坦尼克号:灾难中的机器学习,在该数据集中,我想引入一个具有类似条件的新列。
如果男性且年龄为 NaN,则插入男性的 mean() 年龄而不是 NaN,如果 女性且年龄为 NaN,然后插入女性总年龄的 mean() 而不是 NaN
【问题讨论】:
标签: python-3.x dataframe machine-learning kaggle