Pandas数据分析完全指南:从入门到实战应用
引言:为什么选择Pandas?
在当今数据驱动的时代,数据分析已成为各行各业不可或缺的技能。而Pandas作为Python生态系统中最强大的数据分析库,凭借其高效、灵活的特性,已经成为数据科学家和分析师的首选工具。本文将带你全面了解Pandas的核心功能,并通过实际案例展示如何运用这些技能解决真实问题。
一、Pandas 是什么?为什么选择它?
Pandas 是一个开源的 Python 类库,专为数据分析、数据处理和数据可视化设计。它之所以能在众多工具中脱颖而出,主要得益于以下三大优势:
高性能:基于 NumPy 构建,底层采用 C 语言优化,处理大规模数据时效率极高。
易用的数据结构:提供 Series 和 DataFrame 两种核心数据结构,完美适配表格型数据的存储与操作。
丰富的分析工具:内置了大量数据处理函数,从数据读取、查询到缺失值处理,一站式解决数据分析需求。
二、Pandas核心数据结构
2.1 Series:一维数据的优雅表示
Series 类似表格中的一列,是一种一维数组,由索引(index) 和数值(data) 两部分组成,能存储整数、浮点数、字符串等多种数据类型。其构造函数为:
pandas.Series(data, index, dtype, name, copy)
2.1.1 创建 Series 的三种常用方式
使用列表创建Series :
使用ndarray创建Series :
使用字典创建Series :
2.2 DataFrame:表格数据的全能载体
DataFrame 是一种表格型数据结构,既有行索引,也有列索引,每列可以是不同的数据类型,堪称 “带标签的二维数组”。其构造函数为:
pandas.DataFrame(data, index, columns, dtype, copy)
2.2.1 创建 DataFrame 的三种常用方式
使用列表创建DataFrame :
使用ndarrays创建DataFrame :
使用字典(key/value)创建DataFrame :
三,Pandas 数据查询:精准定位所需数据
在处理数据时,快速查询到目标数据是非常重要的能力,Pandas 提供的 loc
方法可以帮你实现这一需求。
3.1 按行索引查询
查询单行:直接传入行索引。
查询多行:传入索引列表 [[index1, index2]]
。
3.2 自定义索引查询
为 DataFrame 设置有意义的索引(如科目名、日期等)后,可以通过索引名直接查询:
也可以使用loc属性返回指定索引对应到某一行:
四、Pandas 数据读取:轻松导入外部数据
csv、tsv、txt 说明: 逗号或 tab 分隔的文本文件 读取方法: pd.read_csv()
excel xls 或 xlsx 说明: 表格文件 读取方法: pd.read_excel()
mysql 说明: 关系型数据库表 读取方法: pd.read_sql()
4.1 快速预览数据
读取数据后,我们可以用以下方法快速预览数据内容:
head(n)
:查看前 n 行数据,默认 n=5。
tail(n)
:查看后 n 行数据,默认 n=5。
info()
:查看数据基本信息,包括行数、列数、各列数据类型和缺失值情况。
五、Pandas 缺失值处理:让数据更 “干净”
实际数据中常常存在缺失值(如 NaN
、n/a
、na
等),这些缺失值会影响分析结果,需要进行处理。
5.1 识别缺失值
使用 isnull()
方法可以判断每个单元格是否为缺失值:
5.2 处理缺失值
删除缺失值:使用 dropna()
方法删除包含缺失值的行或列。
填充缺失值:使用 fillna()
方法用指定值填充缺失值。
也可以用列的均值、中位数填充,使数据更合理:
mean():计算列的均值替换空单元格
median():计算列的中位数替换空单元格
六,实战练习:学生成绩分析
语文 | 数学 | 英语 | ||||
考试成绩 | 平时成绩 | 考试成绩 | 平时成绩 | 考试成绩 | 平时成绩 | |
小孙 | 90 | 80 | 80 | 70 | 60 | 60 |
小张 | 75 | 70 | 65 | 60 | 55 | 60 |
小韩 | 55 | 80 | 66 | 60 | 77 | 70 |
1.已知考试成绩占总成绩的60%,而平时的成绩占总成绩的40%,那么请你们帮忙算一算各位同学各个科目的最终成绩。
2.计算每个同学的平均分以及每个科目的平均分。
3.计算每个同学的最高分以及每个科目的最高分。
总结
本文从 Pandas 的基本介绍、安装导入开始,详细讲解了 Series 和 DataFrame 两种核心数据结构的创建与操作,以及数据查询、读取和缺失值处理等关键技能。
Pandas 的功能远不止于此,它还有数据分组(groupby
)、合并(merge
)、透视表(pivot_table
)等高级功能等着你去探索。掌握 Pandas,能让你在数据分析的道路上事半功倍,快去动手实践吧!