Python数据分析-Numpy,Matplotlib,Pandas
jupyter使用
anaconda powershell prompt 打开 jupyter notebook
1、输入:cd C:\Users\asus\Desktop\iPython
2、输入:jupyter notebook
Python数据分析
纲要
基础概念和环境
matplotlib
画图
numpy
处理数值型数组
pandas
处理数值型数组、字符串、时间序列、列表、字典等数据类型
0、综述
1、为什么要学习数据分析
- 有岗位需求
- 是Python数据科学的基础
- 是机器学习课程的基础
- 非常方便的从一堆数据中找一些非常直观的经验、结论共自己或别人使用
2、什么是数据分析
数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。
数据分析流程:
提出问题→准备数据→分析数据→获得结论→成果可视化/文字/报告
3、环境安装
创建环境:conda creat——name python3 pyhton=3
切换环境:windows:activate python3
官网地址:www.anaconda.com/downdoad/
4、认识jupyter notebook
一、matplotlib
为什么要学习matplotlib:
- 能将数据进行可视化,更直观的呈现
- 使数据更加客观、更具说服力
1、什么是matplotlib
matplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建
2、matplotlib基本要点
1、matplotlib 基础绘图
axis轴:指x或者y这种坐标轴
基本要点:
每个红色的点是坐标,把5个点的坐标连接成一条线,组成了一个折线图
eg:假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是 [15,13,14.5,17,20,25,26,26,27,22,18,15]
from matplotlib import pyplot as plt
#导入pyplot
x=range(2,26,2)
#数据在x轴的位置,是一个可迭代对象
y=[15,13,14.5,17,20,25,26,26,24,22,18,15]
#数据在y轴的位置,是一个可迭代对象
#x轴和y轴的数据一起组成了所有要绘制出的坐标
#分别是(2,15)(4,13)(6,14.5)……
plt.plot(x,y)
#传入x和y,通过plot绘制出折线图
plt.show()
#在执行程序的时候展示图形
(python、pycharm都可以实现)
存在的问题:
- 设置图片大小(想要一个高清无码大图)
- 保存到本地
- 描述信息,比如x轴和y轴表示什么,这个图表示什么
- 调整x或者y的刻度的间距
- 线条的样式(比如颜色,透明度等)
- 标记出特殊的点(比如告诉别人最高点和最低点在哪里)
- 给图片添加一个水印(防伪,防止盗用)
2、matplotlib 基础绘图和X轴刻度的调整
from matplotlib import pyplot as plt
#导入pyplot
x=range(2,26,2)
#数据在x轴的位置,是一个可迭代对象
y=[15,13,14.5,17,20,25,26,26,24,22,18,15]
#数据在y轴的位置,是一个可迭代对象
#x轴和y轴的数据一起组成了所有要绘制出的坐标
#分别是(2,15)(4,13)(6,14.5)……
#设置图片大小
plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y)
#传入x和y,通过plot绘制出折线图
#设置x轴的刻度
# plt.xticks(x) #步长2
# plt.xticks(range(2,25))
# _xtick_labels = [i/2 for i in range(2,49)]
# plt.xticks(_xtick_labels)
# _xtick_labels = [i/2 for i in range(2,49)]
# plt.xticks(_xtick_labels[::3])
_xtick_labels = [i/2 for i in range(2,49)]
plt.xticks(range(25,50))
#设置y轴的刻度
# plt.yticks(y)
plt.yticks(range(min(y),max(y)+1))
#保存
plt.savefig("./t1.png")
#展示图形
plt.show()
#在执行程序的时候展示图形
3、matplotlib 绘制10点到12点的气温
案例
【1】如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?
a= [random.randint(20,35) for i in range(120)]
from matplotlib import pyplot as plt
import random
x = range(0,120)
y = [random.randint(20,35) for i in range(120)]
# 设置图片大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
plt.show()
4、matplotlib 设置显示中文
from matplotlib import pyplot as plt
import random
x = range(0,120)
y = [random.randint(20,35) for i in range(120)]
# 设置图片大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
# 调整x轴的刻度
# _x = x
# _xtick_labels = ["hello,{}".format(i) for i in _x]
# plt.xticks(x,_xtick_labels)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
# 取步长,数字和字符串一一对应,数据的长度一样
plt.xticks(list(x)[::3],_xtick_labels[::3])
plt.show()