特征工程之基本数据处理-19.12.3

一、缺失值删除

1. df.shape[0] #表示样本数,即行数
2. df.shape[1] #表示列数

3. df.count() #统计的每个样本的数量,是字典行
feature1    10
feature2     8
feature3     4
label       10
dtype: int64
4. df.count().to_frame().T  # 每一维特征非缺失值的数量
feature1  feature2  feature3  label
0        10         8         4     10

5. no_nan_count.columns.tolist() #这个是一个列表把样本中的特征名组合在一起,
同时可以用于for循环
6. df[].values[] #选择某一特征的具体个值
7. df[列表名] #列表名可以是一个列表,表示直接选出这几列
8. df.dropna() #表示删除有缺失数据的样本

二、插值

9. df.mean() #求出均值每一列
10. df.fillna(df.mean()) #对空缺值进行均值填充
11. df.median() #中位数
12. df.fillna(df.median)

13. df.fillna(df11[col].mode()[0]) #众数可能有多个,
#因此在填充的时候可以进行选择第一个进行填充

14. df.fillna(df.max())
15. df.fillna(df.min())

16. df.fillna(value = 10) #自定义填充
17. df.fillna(method='ffill')  # 前向填充
18. df.fillna(method = 'bfill') #向后填充

19. 这里需要注意的是一维矩阵和一维向量的区别,一维向量的shape是(5, ), 
而一维矩阵的shape是(5, 1), 若两个参数a和b都是一维向量则是计算的点积,
但是当其中有一个是矩阵时(包括一维矩阵),dot便进行矩阵乘法运算,
同时若有个参数为向量,会自动转换为一维矩阵进行计算。
20. np.linalg.inv():矩阵求逆
21. dataset.isnull().sum() #每一列特征进行缺失数量进行求和
22. dataset.loc[i, 'Label_petal_length'] #这个也是进行定位到具体数值位置,i表示下标,后面的表示特征名
23. dataset.corr() #用于发现特征间的相关系数
24. train = data[data['Label_petal_length'].notnull()]
25. test  = data[data['Label_petal_length'].isnull()]

26. data_test1=data.iloc[:,:8]  #选取位置为[0,8)列的整列数据
27. data_test2=data.iloc[0:2,8]  #选取位置为8的列的[0,2)行的数据
28. data_test3=data.loc[0:2,'工龄']  #选取列名为‘工龄’的[0,2]行的数据

学习到离群值处理
2019/12/03 16:14

posted @ 2019-12-03 16:16  睿晞  阅读(211)  评论(0)    收藏  举报