从品牌网站建设到网络营销策划,从策略到执行的一站式服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
在贡觉等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站建设 网站设计制作按需求定制制作,公司网站建设,企业网站建设,品牌网站制作,成都全网营销,外贸网站建设,贡觉网站建设费用合理。小编给大家分享一下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出现nan的解决方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图