MicrosoftDocs/ml-basics 项目:使用Python进行数据探索与分析
本文将基于MicrosoftDocs/ml-basics项目中的01 - Data Exploration.ipynb文件内容,深入讲解如何使用Python进行数据探索与分析。我们将重点介绍NumPy和Pandas这两个核心库的使用方法,帮助初学者掌握数据科学中的基础技能。
1. 数据科学工具概述
在数据科学领域,Jupyter Notebook和Python是最受欢迎的工具组合之一。Python因其丰富的数据分析和可视化库而广受青睐,特别适合进行数据探索工作。
Jupyter Notebook由多个单元格组成:
- Markdown单元格(如本文档)用于文字说明
- 代码单元格用于执行Python代码
- 运行代码后会立即在单元格下方显示输出结果
2. NumPy数组基础操作
NumPy是Python中专门用于数值计算的库,其核心数据结构是ndarray(N维数组)。与Python原生列表相比,NumPy数组在数值运算方面有显著优势。
2.1 创建与基本操作
import numpy as np
# 创建数组
grades = np.array([50,50,47,97,49,3,53,42,26,74,82,62,37,15,70,27,36,35,48,52,63,64])
# 数组运算(元素级)
print(grades * 2) # 每个元素乘以2
2.2 多维数组操作
# 创建二维数组
study_hours = [10.0,11.5,9.0,16.0,9.25,1.0,11.5,9.0,8.5,14.5,15.5,13.75,9.0,8.0,15.5,8.0,9.0,6.0,10.0,12.0,12.5,12.0]
student_data = np.array([study_hours, grades])
# 查看数组形状
print(student_data.shape) # 输出(2, 22)表示2行22列
# 计算平均值
avg_study = student_data[0].mean()
avg_grade = student_data[1].mean()
3. Pandas DataFrame深入解析
Pandas是Python中处理表格数据的利器,其核心数据结构是DataFrame。
3.1 创建与基本操作
import pandas as pd
# 创建DataFrame
df_students = pd.DataFrame({
'Name': ['Dan', 'Joann', 'Pedro', 'Rosie', 'Ethan', 'Vicky', 'Frederic'],
'StudyHours': student_data[0],
'Grade': student_data[1]
})
# 显示前5行
df_students.head()
3.2 数据查询方法
Pandas提供了多种数据查询方式:
# 使用loc按标签查询
df_students.loc[0:5] # 包含索引0到5的行
# 使用iloc按位置查询
df_students.iloc[0:5] # 前5行(位置0-4)
# 条件查询
df_students[df_students['Name'] == 'Aisha']
df_students.query('Name=="Aisha"')
3.3 从文件加载数据
# 从CSV文件加载
df_students = pd.read_csv('data/grades.csv', delimiter=',', header='infer')
4. 处理缺失值
真实数据中经常存在缺失值,正确处理缺失值是数据分析的重要环节。
4.1 检测缺失值
# 检测缺失值
df_students.isnull()
# 统计每列缺失值数量
df_students.isnull().sum()
# 查看包含缺失值的行
df_students[df_students.isnull().any(axis=1)]
5. 数据分析实践建议
- 数据理解:在分析前先了解数据结构、字段含义和数据分布
- 数据清洗:处理缺失值、异常值和重复数据
- 探索性分析:计算基本统计量,绘制简单图表
- 逐步验证:分步骤验证数据处理结果
6. 学习路径建议
对于初学者,建议按照以下顺序学习:
- 掌握Python基础语法
- 学习NumPy数组操作
- 掌握Pandas DataFrame核心功能
- 实践数据清洗和转换
- 学习基础统计分析和可视化
通过本文介绍的方法,您可以开始进行基本的数据探索工作。随着实践经验的积累,可以进一步学习更高级的数据处理和分析技术。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考