文章目录
-
-
Python 数据分析概述
-
Python 基础复习
-
Python 数据分析依赖的两个对象
-
表格对象实现统计分析
-
数据预处理
-
Matplotlib数据可视化
-
Python 数据分析概述
二十一世纪以来,我们的生活就迈入了“数据时代”。作为21世纪的新青年,数据一词经常出现。数据:一种可以被鉴别的对客观事件进行记录的符号。
简单来说:就是对人类的行为及产生的事件的一种记录。
我们无时无刻的在产生数据:
广义的数据分析包括狭义数据分析和数据挖掘。狭义的数据分析通过数据的统计分析发现数据中的信息,分析数据结果背后的原因;数据挖掘则是通过数学算法和模型挖掘数据潜在规律,还可以预测数据的未来走向。
知识思维导图
熟悉Python 数据分析的工具
Python 基础复习
引言:复习Python 基础的必要性
想要学懂Python 数据分析,很重要的一点需要有一定的Python基础,特别是要对类和对象的相关概念有所了解,因为Python 数据分析涉及到的库(pandas,numpy,matplotlib,pyecharts)中都应用到类和对象。
Python 数据分析依赖的两个对象
pandas 库导入方法和主要功能:
- 导入方法:import pandas as pd(一般将pandas 库重命名为pd方便之后的调用);
- pandas 主要用来处理结构化数据;
- 结构化数据可以理解为表格化数据;
- pandas 库可以用来做数据处理和数据分析。
读取excel 文件数据
- excel 文件是微软办公软件excel 使用的文件格式,用于存储的结构化数据。
- Python 中读取excel 文件的方法:调用pandas 库的read_excel函数
Series序列对象
-
利用pandas 库从外部读取数据到Python 中形成的表格叫做DataFrame表格对象
- Series序列对象即DataFrame表格对象中的某一列数据
- Series序列对象简称序列对象,其数据类型是Series
- 从表格中提取序列对象:表格对象['列名称']
- 手动生成一个序列对象:pd.Series(序列对象)类生成
- Series序列对象中局部数据的访问方法
- 通过序列单个索引访问:序列对象[索引]
- 通过序列索引的切片访问:序列对象[索引1,索引2]
- 通过判断条件访问:序列对象[序列对象 逻辑判断符号 阀值]
Series序列对象常用方法:max(),min(),mean(),median(),count(),var()
DataFrame表格对象
表格对象的基本方法:
- head():返回前5行数据,用于概览
- info():查看数据行列数、各项的数据类型和非空值数量
- describe():对表格对象中的数字类型序列进行各类统计量的计算
- rename():修改表格对象的列名称
- to_excel():将表格对象导出成excel
表格对象实现统计分析
引言:统计分析技术狭义的数据分析,指通过计算不同维度的统计量指标来挖掘数据中的信息。Python 通过pandas 库的DataFrame表格对象一样可以完成上述任务,虽然就这个任务而言,没有excel 实现起来那么简单,但在处理一些更复杂的数据分析任务时,Python 更有优势。
例如:
- 表格对象的增删查改
- 表格对象索引重置
- 表格对象的数据查询:loc方法
import pandas as pd
data = pd.read_excel(r'D:/yuuuuu/超市销售数据.xlsx')
print(df.loc[;5,'评论'])
print(df.loc[;5,'评论','时间'])
- iloc方法
data = pd.read_excel(r'D:/yuuuuu/超市销售数据.xlsx') df.iloc[:,[3,4,5]]
数据预处理
- 数据预处理的概念:指数据分析之前,对数据进行加工处理,使数据在后续的分析方法中更加的准确、有效。数据预处理是数据建模前的重要环节,他直接决定了后期所有数据工作的质量和价值输出。从数据预处理的主要内容看,包括数据清洗、转换、规约、聚合、抽样等。
- 数据预处理的种类:主要有数据合并、数据清洗、数据转换。
- 数据合并:将两个表格中的数据通过一定的逻辑合并到一起。
- 数据清洗:去除重复值、处理缺失值、处理异常值。
- 数据转换:对数据结构或者数据类型进行转换,以便于后续的分析。
提供先进的推理,复杂的指令,更多的创造力。
Matplotlib数据可视化
- 数据可视化:用图将数据表现出来,使数据直观;常见的图表类型有:散点图、折线图、直方图、饼图等。
- excel 作为常见的数据分析工具,拥有简易且强大的作图功能。
- Python 的数据可视化库有很多个, Matplotlib是其中最基础、最常用d最常用的。
- 选择绘图函数--以plot函数(折线图)为例:
- 绘图函数决定要绘制什么样的图形,不同的图形有不同的函数名称
- 绘图语法:plt.plot(x,y,color,linestyle,marker,format_string,..)
import matplotlib.pyplot as plt #折线图 plt.plot( [1,2,3,4,5], [1,3,4,8,3], 'r--o' )
-
运行结果:
- 设置画布
- 画布类似画画时的画板,决定了我们的图形大小,默认的画布为白色,看不见其边界
- 语法:plot.fingure(figsize,...)
- figsize:接收元组(a,b),a表示画布的长,b表示画布的高
plt.figure(figsize=(8,2)) plt.plot([1,2],[1,3])
运行结果:
- 设置 标题和图例
- 标题显示在画布和图表的正上方。图裂一般显示在图表角落,用于描述数据的含义
- 显示标题语法:plot.title('标题')
- 显示图例语法:plot.legend('数据标签',loc,fontsize,...)
- loc参数:决定图例的位置,如'upper right'表示右上方(具体参考教材)
# 设置坐标轴 plt.rcParams['font.family'] = 'SimHei' # 解决中文乱码 plt.xlabel('x轴') # 坐标轴名称 plt.ylabel('y轴') # plt.xticks([1,2,3]) # 刻度 # plt.yticks([1,2,3]) plt.xlim(1,4) # 坐标轴范围 plt.ylim([1,5]) plt.grid() # 网格线 plt.show() # 只显示图像