相比R语言、SPSS、Excel等工具,Python的优势在于:
全栈能力:不仅做分析,还能衔接数据采集(爬虫)、后端开发、机器学习模型部署
免费开源:零成本使用,社区贡献了海量高质量库
易学易用:语法接近英语,上手门槛低,适合业务人员转型
性能强劲:底层由C/C++优化,处理海量数据依然高效
二、Python数据分析三剑客

1. NumPy:科学计算的基础
NumPy提供了高性能的多维数组对象,是几乎所有数据科学库的基石。它比Python原生列表快数十倍,支持复杂的数学函数和线性代数运算。例如,百万级数据的批量计算只需一行代码。
NumPy是使用Python进行科学计算的基础包。它包含如下的内容:
一个强大的N维数组对象。复杂的(广播)功能。用于集成C / C ++和Fortran代码的工具。有用的线性代数,傅里叶变换和随机数功能。除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使NumPy能够无缝快速地与各种数据库集成。
官网:https://numpy.org/中文官网:https://numpy.org.cn/
2. Pandas:数据处理的核心
Pandas引入了两种核心数据结构——Series(一维)和DataFrame(二维),让数据清洗和转换变得像操作Excel一样直观。它能轻松完成:
数据筛选、排序、分组聚合
缺失值处理、重复值删除
多表合并、数据透视表
时间序列分析

- Pandas 是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的, Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。Pandas可以和Jupyter工具包和其他库结合使用,在进行数据分析时,其性能、效率、协作能力都是十分优秀的。导包方式import pandas as pdPandas包含两个主要的数据结构:(一维数据)Series和(二维数据)DataFrame,可以应用于金融、统计、工程等诸多领域。Series:一维数组,与Numpy中的一维array相似,两者与python的数据结构List也相近,可以保存不同种类的数据类型。DataFrame:二维的表格型数据结构,可以看成是由Series组成的字典(共用同一索引),可以将DataFrame理解为Series的容器
3. Matplotlib & Seaborn:数据可视化的利器
Matplotlib是Python中最基础的绘图库,支持线图、柱状图、散点图、饼图等数十种图表类型。Seaborn则基于Matplotlib封装,提供更美观的默认样式和更简洁的接口,一行代码即可生成统计图表

Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 最常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口, Matplotlib 通常与 NumPy、Pandas 一起使用,是数据分析中不可或缺的重要工具之一。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图、折线图、直方图、功率谱、条形图、错误图、散点图等,同时也可以对不同图形进行设置,调整颜色,尺寸,距离等。
官网:https://matplotlib.org/stable/plot_types/index.html
# 饼图的绘制# 导入第三方模块import matplotlib.pyplot as plt# 导入第三方模块import pandas as pdif __name__ == '__main__': # 构建序列 data1 = pd.Series({'苹果':0.2515,'香蕉':0.3024,'葡萄':0.3136,'哈密瓜':0.0568,'其他':0.0757}) # 将序列的名称设置为空字符,否则绘制的饼图左边会出现None这样的字眼 data1.name = '' # 控制饼图为正圆 plt.rcParams['font.sans-serif']=['SimHei'] #使用指定的汉字字体类型(此处为黑体) plt.axes(aspect = 'equal') # plot方法对序列进行绘图 data1.plot(kind = 'pie', # 选择图形类型 autopct='%.1f%%', # 饼图中添加数值标签 radius = 1, # 设置饼图的半径 startangle = 180, # 设置饼图的初始角度 counterclock = False, # 将饼图的顺序设置为顺时针方向 title = '小明过去的八月里购买的水果类型', # 为饼图添加标题 wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'}, # 设置饼图内外边界的属性值 textprops = {'fontsize':10, 'color':'black'} # 设置文本标签的属性值 ) # 显示图形 plt.show()