学习笔记
进行数据分析和建模,需要准备数据,比如:加载,清理,转换,重新排列
处理缺失值
对于数据型数据,pandas 使用浮点值NaN(Not a Number)
检测是否为空值
string_data.isnull()
pandas 中采用R语言的编程惯例,将缺失值成为NA,意思是not available
统计学应用中,NA数据可以是不存在的数据或者是存在但不可观察的数据
当清洗数据用于数据分析时,对缺失数据本身进行分析以确定数据收集问题或数据丢失导致的数据偏差通常很重要
python内建的None值在对象池数组中也被当作NA处理
NA处理方法
dropna
根据每个标签的值是否是缺失数据来筛选轴标签,并根据允许丢失的数据量来确定阈值
fillna
用某些值填充缺失的数据或使用插值方法(ffill或bfill)
isnull
返回表明哪些值是缺失值的布尔值
notnull
isnull的反函数
过滤缺失值
1.使用pandas.isnull和布尔值索引手动地过滤缺失值
2.dropna过滤缺失值
3.在series上使用dropna,返回series中所有非空数据及其索引值
=============================
import pandas as pd
from numpy import nan as NA
data=pd.Series([1,NA,3.5,NA,7])
data.dropna()
0 1.0
2 3.5
4 7.0
dtype: float64
等同于
data[data.notnull()]
0 1.0
2 3.5
4 7.0
dtype: float64
结果一样
=============================
当处理DataFrame对象时,会更复杂一点,可能想