python nan变成0_python nan怎么解决
很多数据不可避免的会遗失掉,或者采集的时候采集对象不愿意透露,这就造成了很多NaN(Not a Number)的出现。这些NaN会造成大部分模型运行出错,所以对NaN的处理很有必要。
解决方法:
1、简单粗暴地去掉
1)有如下dataframe,先用df.isnull().sum()检查下哪一列有多少NaN:import pandas as pd
df = pd.DataFrame({'a':[None,1,2,3],'b':[4,None,None,6],'c':[1,2,1,2],'d':[7,7,9,2]})
print (df)
print (df.isnull().sum())
输出:
2)将含有NaN的列(columns)去掉:data_without_NaN =df.dropna(axis=1)
print (data_without_NaN)
输出:
2、遗失值插补法
很多时候直接删掉列会损失很多有价值的数据,不利于模型的训练。
所以可以考虑将NaN替换成某些数,显然不能随随便便替换,有人喜欢替换成0,往往会画蛇添足。
譬如调查工资收入与学历高低的关系,有的人不想透露工资水平,但如果给这些NaN设置为0很显然会失真。所以Python有个Imputation(插补)的方法。代码如下:from sklearn.preprocessing import Imputer
my_imputer = Imputer()
data_imputed = my_imputer.fit_transform(df)
print (type(data_imputed))
# array转换成df
df_data_imputed = pd.DataFrame(data_imputed,columns=df.columns)
print (df_data_imputed)
输出:
可以看出,这里大概是用平均值进行了替换。
更多Python知识,请关注:云海天python教程网!!
python nan变成0_python nan怎么解决相关推荐
- python nan_python [吐槽]关于nan类型时遇到的问题
今天在用写一段求和的代码时候,发现最后返回的是nan的结果,这段循环求和代码依次调用了三个函数,于是依次打印这三个函数的返回值,发现其中一个函数的返回值为nan,原来是因为这段函数里面没有相似的用户, ...
- matlab 判断是否是nan,关于Python中Inf与Nan的判断问题详解
python中运行错误,关于聚类算法出现的nan值问题处理的数据有10个属性,使用kmeans聚类算法出现了nan值的错误,请问怎么说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或No ...
- python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行。
python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行. import pandas as pd import numpy as np df1 = pd.Data ...
- python pandas DataFrame 查找NaN所在的位置
python pandas DataFrame 查找 NaN 所在的位置 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期' ...
- python判断nan格式_关于Python中Inf与Nan的判断问题详解
大家都知道 在Python 中可以用如下方式表示正负无穷: float("inf") # 正无穷 float("-inf") # 负无穷 利用 inf(infi ...
- 【python】如何判断nan
以为python的nan是专有的类型,但是JS.C++都有这个类型的,怪写的代码bug太少,没遇到 None 和 nan type(None)-----------Nonetype type(Nan) ...
- 关于Python中Inf与Nan的判断问题详解
大家都知道 在Python 中可以用如下方式表示正负无穷: 1 2 float("inf") # 正无穷 float("-inf") # 负无穷 利用 inf( ...
- python将姓王的都改成老王_Python 实现将numpy中的nan和inf,nan替换成对应的均值
inf:infinity;正无穷 numpy中的nan和inf都是float类型 t!=t 返回bool类型的数组(矩阵) np.count_nonzero() 返回的是数组中的非0元素个数:true ...
- dos系统不能安装python模块,无法使用pip命令安装python第三方库的原因及解决方法...
再dos中无法使用pip,命令主要是没有发现这个命令.我们先找到这个命令的位置,一般是在python里面的scripts文件夹里面.我们可以把dos切换到对应的文件夹,再使用pip命令就可以了. 如果 ...
- python跳出双层for循环的解决方法
转载 python跳出双层for循环的解决方法 一.问题描述 在二维数组的遍历中,我们经常使用双层for循环.在某些时候,我们并不需要遍历整个二维数组.当条件满足时就应该终止for循环.但是,直接在内 ...
最新文章
- Datawhale组队学习 Task01:数组(1天)
- 浅谈错排公式的推导及应用
- 解决function id unknown issue
- 安装DNN时,数据库连接字符串的设置
- C#内建接口:IEnumerable
- Gaze Estimation笔记——data normalization
- java -jar命令引导启动Springboot项目的那点事
- 详解c++[指针的指针] 和 [指针的引用]
- navigationBar模块未绑定
- 什么?你的私钥泄漏了?
- 电脑桌面透明云便签怎么设置便签皮肤透明度?
- 新一代至强CPU加速GBase 8a MPP,GBase GCDW云数据仓库助力行业迎接数字化转型新挑战
- 模糊数学Fuzzy Set第2讲——Fuzzy Logic Fuzzy Reasoning
- 本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数
- python 字符串方法总结
- 二十四节气之小暑养生篇
- typeof与keyof
- 使用JDK自带的工具keytool生成证书
- apk签名机制与SHA1算法
- 怎么将mp4改成mp3格式?