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
3    NaN
4    5.0
dtype: float64
  • 通过布尔序列也能滤除:
se1[se1.notnull()]

结果如下:

0    4.0
2    8.0
4    5.0
dtype: float64

二、处理DataFrame对象

处理DataFrame对象比较复杂,因为你可能需要丢弃所有的NaN或部分NaN

df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
print(df1)

结果如下:

     0    1    2
0  1.0  2.0  3.0
1  NaN  NaN  2.0
2  NaN  NaN  NaN
3  8.0  8.0  NaN
  • 默认滤除所有包含NaN:
df1.dropna()

结果如下

     0    1    2
0  1.0  2.0  3.0
1  NaN  NaN  2.0
2  NaN  NaN  NaN
3  8.0  8.0  NaN
  • 传入how=’all’滤除全为NaN的行
df1.dropna(how=‘all‘)

结果如下

     0    1    2
0  1.0  2.0  3.0
1  NaN  NaN  2.0
2  NaN  NaN  NaN
3  8.0  8.0  NaN
  • 传入axis=1滤除列
df1[3]=NaN
df1

结果如下

     0    1    2   3
0  1.0  2.0  3.0 NaN
1  NaN  NaN  2.0 NaN
2  NaN  NaN  NaN NaN
3  8.0  8.0  NaN NaN
df1.dropna(axis=1,how="all")

结果如下

     0    1    2
0  1.0  2.0  3.0
1  NaN  NaN  2.0
2  NaN  NaN  NaN
3  8.0  8.0  NaN
  • 传入thresh=n滤除n行
df1.dropna(thresh=1)

结果如下

0   1   2   3
0   1.0 2.0 3.0 NaN
1   NaN NaN 2.0 NaN
3   8.0 8.0 NaN NaN
df1.dropna(thresh=3)

结果如下

      0  1   2    3
0   1.0 2.0 3.0 NaN

原文地址:https://www.cnblogs.com/nxf-rabbit75/p/9784459.html

时间: 2024-10-31 18:08:26

Pandas之Dropna滤除缺失数据的相关文章

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

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

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的学习4-处理丢失数据

import pandas as pd import numpy as np ''' 有时候我们导入或处理数据, 会产生一些空的或者是 NaN 数据,如何删除或者是填补这些 NaN 数据就是我们今天所要提到的内容. 建立了一个6X4的矩阵数据并且把两个位置置为空. ''' dates = pd.date_range('20130101', periods=6) df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=

pandas学习(创建多层索引、数据重塑与轴向旋转)

pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或更多的数组,Series也可以创建多层索引. s = Series(np.random.randint(0,150,size=6),index=[['a','a','b','b','c','c'],['期中','期末','期中','期末','期中','期末']]) # 输出 a 期中 59 期末 4

Pandas图解,使抽象的数据具象为可触摸的图形

课程目录:│  ├─第1章 Pandas简介│  │      1-课程介绍│  │      2-学习Pandas前置知识点│  │      3-pandas是什么?│  │      4-为什么选择pandas│  │      5-课后练习│  │      │  ├─第2章 环境搭建│  │      1-使用pip安装pandas等库│  │      2-安装IPython│  │      3-环境方案2:安装Anaconda│  │      4-开发工具│  │      │

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,

小丸子踏入python之路:python_day05(用Pandas处理泰坦尼克船员获救数据titanic_train.csv)

泰坦尼克船员获救数据: titanic_train.csv 用excel打开数据集.显示如下: 写在前边: 为了方便以后运用numpy和pandas的库,分别造它们的别名np和pd. import pandas as pd #造pandas的别名为pd import numpy as np #造numpy的别名为np 一.读取数据 import pandas as pd #造pandas的别名为pd import numpy as np #造numpy的别名为np #泰坦尼克号船员获救数据 ti

缺失数据的处理

做数据分析挖掘特征之前,都要先处理好数据,数据处理里第一步我们要先处理有缺失值的情况. 查看导入的数据缺失情况: 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))

使用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