仅代表个人学习理解,不具有科学严谨的指导作用。
通常需要处理空、异常、重复值
而异常值的判断通常有强烈的主观色彩及业务逻辑关系的影响,所以判断规则不能准确说明。例如:一个产品平时日销售量平均是10单位,但某一天进行促销卖了100,这个数值在统计意义(正态分布)上可能是个异常值,但是有实际的业务意义。
DataFrame.isnull()方法 可以得出一个布尔值的DataFrame,其中False的是空值np.nan
0是代表行,1是代表列
DataFrame.isnull().any(axis=0或1) 可以返回行或者列的含有np.nan的值的一个布尔数组 其中axis=0是沿着行进行索引的意思,所以返回的是哪一列中含有np.nan值,而axis=1是沿着列经行索引的意思,所以返回的是哪一行含有np.nan的值。
DataFrame.dropna(axis=0或1) axis=0删除的是行含有np.nan值的一行,axis=1删除的是列含有np.nan值的一列
DataFrame.drop_dulicates()方法 可以去重 可以指定列 keep参数可以指定保留last后一条数据
from pandas import DataFrame,Series
import pandas as pd
import numpy as np
from sklearn.preprocessing import Imputer
In [5]:
data = DataFrame(np.random.randn(6,4),columns = ['col1','col2','col3','col4'])
data.iloc[1:2,1] = np.nan
data.iloc[4,3] = np.nan
In [18]:
data.isnull()
Out[18]:
In [25]:
data.isnull().any(axis=1)
Out[25]:
In [24]: