【数据仓库与数据挖掘】数据预处理与特征工程练习

数据预处理与特征工程练习要求(数据挖掘的前期处理工作——提高数据质量)
1. 使用文件qunar_freetrip.csv和Narrativedata.csv进行数据预处理。
2. 使用文件digit recognizor.csv做特征选择和降维。
3. 代码要尽可能多加注释。

0- 准备工作

#0
#导入所需要的库
import pandas as pd 
import numpy as np
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler,MinMaxScaler
from sklearn.impute import SimpleImputer
import matplotlib.pyplot as plt
from sklearn.model_selection import cross_val_score
from sklearn.feature_selection import VarianceThreshold

1- 数据预处理(1)

#1
#1.1 读取数据,使用Narrativedata.csv(泰坦尼克号数据)进行数据预处理
data1 = pd.read_csv(r"C:\Users\Desktop\Narrativedata.csv",index_col=0)
data1.head()
#观察数据,是个分类数据集,表头分别是年龄、性别、舱门和是否存活,其中是否存活是一个标签数据

结果:
	Age	Sex	Embarked	Survived
0	22.0	male	S	No
1	38.0	female	C	Yes
2	26.0	female	S	Yes
3	35.0	female	S	Yes
4	35.0	male	S	No
#1.2 info看一下数据的信息
data1.info() 
#可以观察到,一共有891条数据,年龄Age却只有714条,缺失的较多,如果都删除肯定不行,浪费了数据;
#但可以观察到Embarked只缺失了2条数据,对于缺失得比较少的,可以删除处理,如果是大量缺失就需要进行填补

结果:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 891 entries, 0 to 890
Data columns (total 4 columns):
 #   Column    Non-Null Count  Dtype  
---  ------    --------------  -----  
 0   Age       714 non-null    float64
 1   Sex       891 non-null    object 
 2   Embarked  889 non-null    object 
 3   Survived  891 non-null    object 
dtypes: float64(1), object(3)
memory usage: 34.8+ KB
#1.3 填补年龄Age缺失数据
data1.loc[:,"Age"]=data1.loc[:,"Age"].fillna(data1.loc[:,"Age"].median()) #用中位数进行填补,需要把属性列的中位数求出来,fillna来填补空缺
data1.dropna(axis
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值