Pandas学习-第六章 缺失数据
导入数据
import pandas as pd
import numpy as np
df = pd.read_csv('data/table_missing.csv')
df,head()
一、缺失观测及其类型
1.了解缺失信息
a. isna和notna方法-判断缺失值
判断Series是否为空:
df['Physics'].isna().head()
# 或者
df['Physics'].notna().head()
判断DataFrame缺失值:
df.isna().head()
判断DataFrame每一列有多少缺失值
df.isna().sum()
除此之外还可以用info函数查看缺失信息
df.info()
(b) 查看缺失值的所在行
以最后一列为例,挑出该列缺失值的行
df[df['Physics'].isna()]
(c) 挑出所有非缺失值列
使用all就是全部非缺失值,如果是any就是至少有一个不是缺失值。
df[df.notna().all(1)]
2.三种缺失符号
缺失符号 | np.nan | None | np.NaT |
---|---|---|---|
类型 | float64 | Nonetype | pandas._libs.tslibs.nattype.NaTType |
equal的时候是否会包括在内 | 不包括 | 包括 | 不包括 |
某列出现该值的类型 | 1.数值型,布尔型统一转换为float64;2.字符型统一转换为O(object类型) | 1.None传入数值型自动变换为np.nan;None传入时间型变量自动变换为np.NaT;2.None传入布尔类型,不改变原布尔列表;3.None传入字符型为NoneType | 时间型变量类型不改变 |
二、缺失数据的运算与分组
1.加号与乘号规则
使用加法时,缺失值为0;
使用乘法时,缺失值为1;
使用累计函数时,缺失值自动略过。
2.groupby方法中的缺失值
df_g = pd.DataFrame