缺失数据的处理

做数据分析挖掘特征之前,都要先处理好数据,数据处理里第一步我们要先处理有缺失值的情况。

查看导入的数据缺失情况:

 1 import pandas as pd
 2 from io import StringIO
 3
 4 csv_data = """A,B,C,D
 5 1.0,2.0,3.0,4.0
 6 5.0,6.0,,8.0
 7 0.0,11.0,12.0,
 8 """
 9 df = pd.read_csv(StringIO(csv_data))
10 print(df)
11 # 输出缺失值的个数
12 missing = df.isnull().sum()
13 print(missing)
14 print(missing.values, type(missing.values))
15 print(missing.values[1:])  # 可以索引取值,但是不是列表,方法属性不一样
16 print(dir(missing.values))

  通过打印的输出我们可以发现使用 isnull方法可以判断值是否为空,isnull().sum()方法按列输出缺失值的个数。

  我们可以利用数据框(DataFrame)的values属性来获取对应的NumPy数组。

删除有缺失值的行或列:

1 print(df.dropna())  # 按行删除有缺失值
2 print(df.dropna(axis=1))  # 删除列中有缺失值的列
3 print(df.dropna(how="all"))  # 删除那些行全是缺失值的
4 print(df.dropna(thresh=4))  # 删除那些没有4个值的行
5 print(df.dropna(subset=["C"]))  # 删除缺失值出现在列标为"C"的行

原文地址:https://www.cnblogs.com/dan-baishucaizi/p/9102100.html

时间: 2024-08-02 05:17:23

缺失数据的处理的相关文章

Pandas 10分钟入门----缺失数据的处理(官方文档注释版三)

在日常我们获取的数据中,经常会出现数据缺失的情况.对数据缺失的处理,有多种处理的方法:插值填补.平均值填补方法很多.这里不具体讨论用哪种方式去插补这些数据,而只是谈谈如何使用pandas去快速的处理这些数据. pandas 常用np.nan代表缺失数据,详情可以查看Missing Data section. 1. reindex()可以允许你在指定维度上修改.增加.删除索引,并返回数据的副本: df1 = df.reindex(index=dates[0:4], columns=list(df.

Pandas之Dropna滤除缺失数据

import pandas as pd import numpy as np from numpy import nan as NaN 一.处理Series对象 通过dropna()滤除缺失数据 from numpy import nan as NaN se1=pd.Series([4,NaN,8,NaN,5]) print(se1) se1.dropna() 结果如下: 0 4.0 1 NaN 2 8.0 3 NaN 4 5.0 dtype: float64 0 4.0 1 NaN 2 8.0

pandas数据分析-处理填充缺失数据

dropna默认丢失任何含有缺失值的行. date = DataFrame([[1.,2.,3.],[NA,NA,NA], [1.,3.,NA],[1.,5.,NA]])clean = date.dropna() print(clean) 你可能希望丢弃含有NA的行或列,传输how='all'将只丢弃含有NA的行. date = DataFrame([[1.,2.,3.],[NA,NA,NA], [1.,3.,NA],[1.,5.,NA]])clean = date.dropna(how='al

pandas删除缺失数据(pd.dropna()方法)

1.创建带有缺失值的数据库: import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index = list('abcde'), columns = ['one', 'two', 'three']) # 随机产生5行3列的数据 df.ix[1, :-1] = np.nan # 将指定数据定义为缺失 df.ix[1:-1, 2] = np.nan print('\ndf1') # 输出df1,

使用matplotlib,seaborn统计缺失数据可视化

matplotlib的使用: step1.创建一个空白的画布,此函数返回fig画布 fig=plt.figure() step2.创建子图 ax=fig.add_subplot(1,2,1)#意思是将画布分为1行2列现在利用第一列返回为第一列的子图 step3.开始画图,此处我们利用seaborn来画,它是matplotlib的高级封装,它不需要指定画布,它是在上一步中指定的画布的画图,参数为x,y sns.barplot(missing[col], missing.index) step4.a

吴裕雄--天生自然 R语言开发学习:处理缺失数据的高级方法(续一)

#-----------------------------------# # R in Action (2nd ed): Chapter 18 # # Advanced methods for missing data # # requires packages VIM, mice # # install.packages(c("VIM", mice)) # #-----------------------------------# par(ask=TRUE) # load the

补全数组缺失某种类型的数据方法

当前用echart做数据统计时,遇到这样的场景: 查询user_type=2时,没有type=1的数据,页面图表显示时缺失数据会有不必要的麻烦,于是写了个填充数据的方法,代码如下: 1 /*补全数组没有的类型 2 * $arr1 = [['type'=>1,'num'=>0],['type'=>2,'num'=>0],['type'=>3,'num'=>0]]; 3 * $arr2 = [['type'=>2,'num'=>216,'user_type'=&

ORACLE AWR报告数据的导入导出实践

关于AWR的快照数据可以导出.导入,一直没有亲手实践过.今天动手测试了一下如何导出.导入AWR数据,将AWR的数据从一测试服务器,导入到另外一台测试服务器. SQL> @?/rdbms/admin/awrextr.sql ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclaimer: T

【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)

3.3缺失值处理 R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量.数据框等多种对象,返回逻辑值. > attach(data) The following objects are masked fromdata (pos = 3): city, price, salary > data$salary=replace(salary,salary>5,NA) > is.na(salary) [1] FALSEFALSE TRUE