在我的数据集(train
,test
(中,某些记录max_floor
值为空。我正在尝试用共享相同公寓名称的公寓的max_floor
值模式填充空值:
for t in full.apartment_name.unique():
for df in frames:
df['max_floor'].fillna((df.loc[df["apartment_name"]==t,
'max_floor']).mode, inplace=True)
full
在哪里train.append(test)
df
是[train,test]
运行上面的代码没有给我预期的结果。上面的代码运行良好,但使用以下文本填充所有max_floor
null 值:
bound method Series.mode of 0 NaN
1084 NaN
23278 9.0
Name: max_floor, dtype: float64
我只是想用max_floor
值替换上面的文本。任何帮助将不胜感激。
mode()
是一个函数,你已经引用了它,但没有调用它。
将mode
更改为mode()
您需要
访问mode()
结果中的第一个值。例如:
A B
0 1 3.0
1 2 NaN
2 2 NaN
3 3 NaN
用列A
的模式填充缺失的值:
df.fillna(df['A'].mode()[0])
输出:
A B
0 1 3.0
1 2 2.0
2 2 2.0
3 3 2.0