判断是否含有缺失数据
isnull()
删除缺失数据
data.dropna()
data.dropna(how='all')
传入how='all'将只丢弃全为NA的那些行
用这种方式丢弃列,只需传入axis=1即可
data.dropna(axis=1, how='all')
丢弃一列全部为null的数据
df.dropna(thresh=2)
如果含有null的数量少于2个,则会保留
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110152356663-394543949.png)
填充缺失数据
df.fillna(0)
是通过一个字典调用fillna,就可以实现对不同的列填充不同的值:
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110152616997-1323516989.png)
fillna默认会返回新对象,但也可以对现有对象进行就地修改:
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110152708634-1527857036.png)
向后填充值
可以限制填充次数
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110152915719-1987509905.png)
数据转换
移除重复数据
判断是否是重复行
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110153055073-1790245340.png)
去除重复列的值,判断全体
过滤某一列
保留最后一个重复列
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110153333209-202387450.png)
利用函数或映射进行数据转换
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110164204220-1750167444.png)
先转小写再对应
替换值
将-999替换为np.nan -1000替换为0
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110164600986-2080104979.png)
重命名轴索引
离散化和面元划分
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110193835266-111659811.png)
分4份保留到小数点后2位
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110194222097-1770289567.png)
qcut
检测和过滤异常值
盖帽法
np.sign(data)可以复制符号
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110194730442-119606303.png)
排列和随机采样
生成司机数数组
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110195117021-1439471872.png)
计算指标/哑变量
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110195531197-1025037228.png)
字符串操作
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110200441838-1973208116.png)
![](https://img2018.cnblogs.com/i-beta/826822/202001/826822-20200110200741984-301155608.png)