Python学习7 ----Pandas数据预处理实例

Pandas数据预处理实例

代码详见https://github.com/RenDong3/Python_Note

1实例背景

该实例使用数据为kaggle经典入门竞赛,泰坦尼克
比赛解析 https://github.com/apachecn/Interview/tree/master/docs/Kaggle/competitions/getting-started/titanic

2 Pandas数据预处理

2.1 读取数据

对于csv数据每一列代表的含义以及详细分析见比赛解析给的网址(在上面哦!!)
在这里插入图片描述

2.2 缺失值统计

观察发现,'Age’列含有大量缺失值,Nan即代表缺失值
在这里插入图片描述
在这里插入图片描述

2.3 平均值计算

如果不对缺失值做预处理,得到结果为nan
在这里插入图片描述
只对有效数据进行计算得到平均值
在这里插入图片描述
使用dropna()丢弃缺失值
在这里插入图片描述

3 列属性之间关联

一般使用pivot_table()得到index和values之间的关联
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4排序操作

对Age进行排序操作,但index不变化
在这里插入图片描述
在这里插入图片描述
对Age进行排序操作,同时index也按照顺序排序
在这里插入图片描述
在这里插入图片描述

5 自定义函数

使用apply()调用自定义函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Pandas数据分析 普林大数据学院 普 林 大 数 据 学 院 P R I N C E T E C H S B I G D A T A C O L L E G E 2 3 目录 第一部分 文件读写 第二部分 变量离散化 第三部分 缺失值填补 普林大数据学院 普 林 大 数 据 学 院 P R I N C E T E C H S B I G D A T A C O L L E G E 第四部分 数据标准化 第五部分 数据合并 第六部分 数据组合 第七部分 数字编码 第八部分 OneHot编码 普 林 大 数 据 学 院 P R I N C E T E C H S B I G D A T A C O L L E G E 普林大数据学院 4 数据文件操作——读入数据 • pandas提供了一些用于将表格型数据读取为DataFrame对象的函数, 常用的函数为read_csv和read_table • 函数的选项可以划分为几个大类 • 索引:将一个或多个列当做返回的DataFrame处理,以及是否从文件、用户 获取列名 • 类型推断和数据转换:包括用户定义值的转换、缺失值标记列表等 • 日期解析:包括组合功能,比如将分散在多个列中的日期时间信息组合起来 • 迭代:支持对大文件进行逐块迭代 • 不规整数据问题:跳过一些行、页脚、注释或其他一些不重要的东西 普 林 大 数 据 学 院 P R I N C E T E C H S B I G D A T A C O L L E G E 普林大数据学院 5 文件读写 Pandas提供了一些用于将表格型数据读取位DataFrame对象的函数。 其中最常用的为read_csv和read_table。read_csv 从文件、URL、文件 型对象中加载带分隔符的数据。默认分隔符为逗号。read_table从文件、 URL、文件型对象中加载带分隔符的数据。默认分隔符为制表符 (“\t”) In[19]:df= pd.read_csv('iris.csv') df.head() Out[19]: sepal_len sepal_wh petal_len petal_wh target 0 5.1 3.5 1.4 0.2 0 1 4.9 3.0 1.4 0.2 0 2 4.7 3.2 1.3 0.2 0 3 4.6 3.1 1.5 0.2 0 4 5.0 3.6 1.4 0.2 0
以下是一个简单的 Python 数据预处理实例: 假设我们有一个名为“customers.csv”的客户数据集,其中包含客户姓名、年龄、性别、购买历史和信用分数等信息。我们想要对该数据集进行一些预处理,以便用于进一步的分析和建模。 1. 导入必要的库 ```python import pandas as pd import numpy as np ``` 2. 读取数据集 ```python data = pd.read_csv('customers.csv') ``` 3. 检查数据质量 ```python # 查看前5行数据 data.head() # 查看数据维度 data.shape # 检查缺失值 data.isnull().sum() # 检查重复值 data.duplicated().sum() # 查看数据类型 data.dtypes ``` 4. 处理缺失值 ```python # 删除缺失值 data.dropna(inplace=True) # 填充缺失值 data.fillna(value=0, inplace=True) ``` 5. 处理重复值 ```python # 删除重复值 data.drop_duplicates(inplace=True) ``` 6. 处理离群值 ```python # 使用箱线图检测离群值 import seaborn as sns sns.boxplot(x=data['age']) # 删除离群值 Q1 = data['age'].quantile(0.25) Q3 = data['age'].quantile(0.75) IQR = Q3 - Q1 data = data[(data['age'] >= Q1 - 1.5*IQR) & (data['age'] <= Q3 + 1.5*IQR)] ``` 7. 处理数据类型 ```python # 转换数据类型 data['age'] = data['age'].astype('int') data['credit_score'] = data['credit_score'].astype('float') # 对分类变量进行编码 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() data['gender'] = le.fit_transform(data['gender']) ``` 8. 特征缩放 ```python # 使用 MinMaxScaler 进行特征缩放 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() data[['age', 'credit_score']] = scaler.fit_transform(data[['age', 'credit_score']]) ``` 以上是一个简单的 Python 数据预处理实例,其中包括数据质量检查、缺失值处理、重复值处理、离群值处理、数据类型处理和特征缩放等常见的预处理步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值