pandas - 使用条件在列中填充 NaN 不起作用
问题描述
train[train['OverallQual']==1]['LotFrontage']
Output:375 NaN
575 50
train[train['OverallQual']==1]['LotFrontage'].fillna(value=train[train['OverallQual']==1]['LotFrontage'].mean(),inplace=True)
train[train['OverallQual']==1]['LotFrontage']
Output:375 NaN
575 50
执行第二条语句
SettingWithCopyWarning 后出现警告:试图在 DataFrame 中的切片副本上设置值
所以,我尝试了另一种分配空值的方法
train[train.iloc[:,17]==1].iloc[:,3] = train[train.iloc[:,17]==1].iloc[:,3].fillna(50,inplace=True)
train[train['OverallQual']==1]['LotFrontage']
Output:375 NaN
575 50
输出是一样的。未填充空值。
解决方案
推荐阅读
- ios - 为特定设备/操作系统运行“swift build”
- javascript - 如何在另一个对象中按键聚合对象值
- impala - Impala 从一张表插入到另一张表
- swift - 使用它的detailTextLabel 自动调整tableview 单元格的大小?
- javascript - Javascript 的脚本没有运行两次
- shell - 通过路由进行多页导航
- ajax - 即使 url、路由器和控制器指向同一个地方,Laravel 和 Ajax 也会根据请求返回 404
- javascript - 使用 Javascript 动态更改 ifarme 中的过滤器
- django - 图像未在呈现的 pdf 中显示
- javascript - 如何在后台预加载数据(Angular Web App)