本栏目为本人自学B站各位好心的博主所录视频过程中记录下来的笔记,出处基本来自于B站视频博主以及csdn中各位大佬的解释,我只起到了转载的作用。因来源过于复杂,因此无法标注来源。
此篇数据分析文章的内容均来自于Bilibili的黑马程序员的数据挖掘的课程,本人仅起到总结并显示的作用
1.数据分析流程
1.提出问题
2.准备数据
3.分析数据
4.获得结论
5.成果可视化
小工具:jupyter notebook,启动命令如下:
jupyter notebook #直接在windows命令行中即可启动,启动时的路径为工作目录
2.Jupyter notebook的使用
快捷键的使用:
- 两种模式通用快捷键:
- Shift+Enter ,执行本单元代码,并跳转到下一单元
- ctrl+Enter ,执行本单元代码,留在本单元
cell行号前的*,表示代码正在运行
- 命令模式:按ESC进入
- Y , cell切换到Code模式。
- M , cell切换到Markdown模式
- A,在当前cell的上面添加cell
- B,在当前cell的下面添加cell
- 双击D,删除当前cell
- z,回退
- L,为当前cell加上行号
- ctrl+Shift+P ,对话框输入命令直接运行
- 快速跳转到首个cell,Crtl+Home
- 快速跳转到最后一个cell,crtl+End
- 编辑模式:按Enter进入
- 多光标操作:ctrl键点击鼠标(Mac:CMD+点击鼠标)
- 回退:ctrl+z(Mac:CMD+Z)
- 重做:Ctrl+Y(Mac:CMD+Y)。
- 补全代码:变量、方法后跟Tab键
- 为一行或多行代码添加/取消注释:Ctrl+/(Mac:CMD+/)
- 屏蔽自动输出信息:可在最后一条语句之后加一个分号
3.matplotlib包
3.1 什么是matplotlib
能够将数据进行可视化,是得数据有了直观的呈现。也就是数据可视化图表。
3.2 matplotlib的使用
1.基本使用
#1.导包,as后为包的别名
import matplotlib.pyplot as plt
#2.假设数据集
x = range(2,26,2)
y = [15,14,13,5,17,20,25,26,27,45,22,18]
#3.设置图片大小
fig = plt.figure(figsize=(20,8),dpi=80)
#4.绘图
#4.1 折线图
plt.plot(x,y)
#4.2 散点图
plt.scatter(x, y)
#4.3 柱状图
plt.bar(x, y)
#4.4 直方图
plt.hist(y)
#4.5 饼图
sizes = [20, 50, 10, 20]
labels = ['L', 'H', 'D', 'Z']
plt.pie(sizes, labels=labels)
#5.添加标签和标题
plt.xlabel("time")
plt.ylabel("temparature")
plt.title("temparature chart")
#6.设置x,y轴的刻度
#准备x的刻度说明
x_label = ["11点{}分".format(i) for i in x]
plt.xticks(range(2,26,2),x_label[::5])
plt.yticks(range(5,50,5))
#7.添加网格显示
plt.grid(linestyle="--", alpha=0.5)
#8.显示图例
plt.legend(loc = 3) #左下
#9.保存所绘制的图片
plt.savefig("D:/t1.png")
#10.显示图形
plt.show()
2.绘制多子图
# 需求:再添加一个城市的温度变化
# 收集到北京当天温度变化情况,温度在1度到3度。
# 1、准备数据 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 3) for i in x]
# 2、创建画布
# plt.figure(figsize=(20, 8), dpi=80)
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=80)
# 3、绘制图像
axes[0].plot(x, y_shanghai, color="r", linestyle="-.", label="上海")
axes[1].plot(x, y_beijing, color="b", label="北京")
# 显示图例
axes[0].legend()
axes[1].legend()
# 修改x、y刻度
# 准备x的刻度说明
x_label = ["11点{}分".format(i) for i in x]
axes[0].set_xticks(x[::5])
axes[0].set_xticklabels(x_label)
axes[0].set_yticks(range(0, 40, 5))
axes[1].set_xticks(x[::5])
axes[1].set_xticklabels(x_label)
axes[1].set_yticks(range(0, 40, 5))
# 添加网格显示
axes[0].grid(linestyle="--", alpha=0.5)
axes[1].grid(linestyle="--", alpha=0.5)
# 添加描述信息
axes[0].set_xlabel("时间变化")
axes[0].set_ylabel("温度变化")
axes[0].set_title("上海11点到12点每分钟的温度变化状况")
axes[1].set_xlabel("时间变化")
axes[1].set_ylabel("温度变化")
axes[1].set_title("北京11点到12点每分钟的温度变化状况")
# 4、显示图
plt.show()
3.绘制函数图像(y = 2 * x * x)
import numpy as np
# 1、准备x,y数据
x = np.linspace(-1, 1, 1000)
y = 2 * x * x
# 2、创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 3、绘制图像
plt.plot(x, y)
# 添加网格显示
plt.grid(linestyle="--", alpha=0.5)
# 4、显示图像
plt.show()
4.总结