pandas - 如何在 python 中跳过缺失的 NaN 值同时替换它们?
问题描述
我希望能够在维护 NaN 值的列表上运行 numpy 命令。基本上,我想对两个列表变量进行线性回归。一个变量包含 NaN,所以我不能对其进行线性回归。但是,如果我删除 NaN 值,那么我的列表的大小与不包含 NaN 的列表的大小不匹配。例如,
x = [1,2,3,4,5,NaN]
如果我删除 NaN 值,则大小x
变为 5
y = [1,2,3,4,5,6]
大小y
为 6
(x,y) = (1,1), (2,2), (3,3), (4,4), (5,5), (NaN, 6)
我希望我的线性回归跳过数据点 (NaN, 6)
我怎样才能做到这一点?
解决方案
您需要按条件过滤两个数组,而不仅仅是其中一个。
import numpy as np
x = np.array([1,2,np.NaN,4,5,np.NaN])
y = np.array([1,2,3,4,5,6])
condition = ~np.isnan(x)
xp = x[condition]
yp = y[condition]
print(xp)
print(yp)
所以两个数组都打印为[1 2 4 5]
.
推荐阅读
- java - 查找列表的对象是否存在于另一个列表中
- javascript - “逐行”填充二维数组 JavaScript/NodeJS
- ruby-on-rails - 创建扩展“has_many”的自定义ActiveRecord关联“has_many_tagged”
- python - 使用 7zip 打开 PYD 文件
- nonblocking - “特殊” epoll 标志如何对应 kqueue 标志?
- c# - 如何将 ComboBox 项目更改为 Xaml 中的选项卡?
- java - 从收到的 html 正文中获取值
- c# - 带有许多子项的实体核心显式加载
- sql - 使用案例条款更新
- python - Python Regex 忽略特定字符串以查找下一个示例