给定样本df:
p = [[1.234,1], [2.2134,1.2365], [1.1234,2.5432]]
q = [[2,2], [0,1], [2,4]]
p[p == 22] = np.nan
我可以通过执行以下操作从p
值中删除NaN
:
p = np.array([i for i in p if np.any(np.isfinite(i))], np.float64)
q = np.array(q, np.float64)
我能为循环做些什么来检查是否有NaN
并删除它吗?你知道吗
但这是给一对夫妇的。如果我有这样的数据集(实际数据要大得多(106,1900)
)
数据框=
1 1.1 2 2.1 3 3.1 4 4.1 5 5.1
0 43.1024 6.7498 NaN NaN NaN NaN NaN NaN NaN NaN
1 46.0595 1.6829 25.0695 3.7463 NaN NaN NaN NaN NaN NaN
2 25.0695 5.5454 44.9727 8.6660 41.9726 2.6666 84.9566 3.8484 44.9566 1.8484
3 35.0281 7.7525 45.0322 3.7465 14.0369 3.7463 NaN NaN NaN NaN
4 35.0292 7.5616 45.0292 4.5616 23.0292 3.5616 45.0292 NaN NaN
可以使用每列的平均值或平均值来填充NaN值
例如,尝试(为了用0填充所有NaN-s):
参考号:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html
相关问题 更多 >
编程相关推荐