首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据科学家的第一课:Python数据预处理完全指南

数据科学家的第一课:Python数据预处理完全指南

作者头像
熊猫钓鱼
发布2025-08-01 17:36:12
发布2025-08-01 17:36:12
14000
代码可运行
举报
文章被收录于专栏:人工智能应用人工智能应用
运行总次数:0
代码可运行

一、数据预处理的重要性

在数据科学项目中,约60%的时间都花费在数据清洗和预处理阶段。原始数据往往存在缺失值、异常值、不一致格式等问题,就像未加工的矿石需要经过多道工序才能变成有用材料。本文将系统介绍如何用Python两大核心库——NumPy和Pandas完成这些"数据精炼"工作。

二、NumPy数据处理基础

2.1 多维数组创建
代码语言:javascript
代码运行次数:0
运行
复制
import numpy as np
# 创建3×3随机矩阵
data = np.random.rand(3,3) 

NumPy的ndarray对象支持矢量化运算,比Python列表快50倍以上。特殊数组创建方法:

  • np.zeros() 创建全零数组
  • np.arange() 生成等差序列
  • np.linspace() 等分区间
2.2 数组操作技巧
代码语言:javascript
代码运行次数:0
运行
复制
# 条件筛选
mask = arr > 0.5
filtered = arr[mask]

# 轴向计算
np.mean(arr, axis=1)  # 行方向均值

三、Pandas数据处理实战

3.1 核心数据结构
  • Series:带标签的一维数组
代码语言:javascript
代码运行次数:0
运行
复制
s = pd.Series([1,3,5], index=['a','b','c'])
  • DataFrame:二维表格型数据结构
代码语言:javascript
代码运行次数:0
运行
复制
df = pd.DataFrame({
    'A': [1,2,None],
    'B': ['x', None, 'z']
})
3.2 数据清洗四部曲
  1. 缺失值处理
代码语言:javascript
代码运行次数:0
运行
复制
df.fillna(method='ffill')  # 前向填充
df.interpolate()  # 插值填充
  1. 异常值检测
代码语言:javascript
代码运行次数:0
运行
复制
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1
df[~((df < (Q1-1.5*IQR)) | (df > (Q3+1.5*IQR))).any(axis=1)]
  1. 数据转换
代码语言:javascript
代码运行次数:0
运行
复制
# 独热编码
pd.get_dummies(df['category'])

# 分箱处理
pd.cut(df['age'], bins=[0,18,35,60,100])
  1. 数据合并
代码语言:javascript
代码运行次数:0
运行
复制
pd.merge(df1, df2, on='key')  # SQL风格连接
pd.concat([s1, s2], axis=1)  # 轴向拼接

四、完整案例:电商数据清洗

4.1 原始数据问题诊断
  • 用户年龄存在负数
  • 订单日期格式不统一
  • 30%的邮政编码缺失
4.2 分步解决方案
代码语言:javascript
代码运行次数:0
运行
复制
# 步骤1:读取数据
raw = pd.read_csv('ecommerce.csv', parse_dates=['order_date'])

# 步骤2:年龄修正
raw['age'] = raw['age'].apply(lambda x: x if x>0 else np.nan)

# 步骤3:日期标准化
raw['order_date'] = pd.to_datetime(raw['order_date'])

# 步骤4:邮编填充
zip_mode = raw['zipcode'].mode()[0]
raw['zipcode'].fillna(zip_mode, inplace=True)

五、性能优化技巧

  1. 使用eval()进行链式运算加速
  2. 大数据集优先使用dtype指定数据类型
  3. 避免循环,尽量使用apply()或向量化操作

六、总结

掌握这些技术后,您将能够: ✓ 高效清洗百万级数据集 ✓ 自动识别数据质量问题 ✓ 构建可复用的数据处理管道 ✓ 为机器学习准备好高质量数据

建议下一步学习sklearn的预处理模块,构建完整的数据分析工作流。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数据预处理的重要性
  • 二、NumPy数据处理基础
    • 2.1 多维数组创建
    • 2.2 数组操作技巧
  • 三、Pandas数据处理实战
    • 3.1 核心数据结构
    • 3.2 数据清洗四部曲
  • 四、完整案例:电商数据清洗
    • 4.1 原始数据问题诊断
    • 4.2 分步解决方案
  • 五、性能优化技巧
  • 六、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档