目录
0 介绍
学习内容(这些学习6天):
- 基础概念和环境
- matplotlib
- numpy
- pandas
为什么学习数据分析:
- 岗位需求 —— web/爬虫 + 数据分析+ 机器学习
- 是机器学习的基础
数据分析的流程:
- 提出问题
- 准备数据
- 分析数据
- 获得结论
- 可视化
★Conda使用
Conda可以既可以管理Python环境,也可以管理Python的包,如果pip安装东西安装不上的话,使用conda安装,八成能装上。
conda
是主要命令,使用它能够:
- Query and search the Anaconda package index and current Anaconda installation.
- Create new conda environments.
- Install and update packages into existing conda environments.
常用命令 | |
---|---|
conda --version |
查看conda的版本 |
conda info |
查看当前conda信息 |
conda update conda |
更新包(这里是更新conda) |
conda create -n myenv python=3.4 scipy=0.15.0 astroid babel |
创建环境,指定版本 |
环境管理 | |
---|---|
conda create --name snowflakes biopython |
创建一个新的环境叫做snowflakes, 同时安装biopython包 |
conda create --name snakes python=3.5 |
创建新环境snakes, 指定python版本 |
windows: activate 环境名 Linux/Mac: source activate 环境名 |
激活虚拟环境 |
windows: deactivate 环境名 Linux/Mac: source deactivate 环境名 |
退出虚拟环境 |
conda info --envs |
查看虚拟环境 |
conda env list |
查看虚拟环境 |
conda create --name myclone --clone myenv |
克隆myenv创建一个新的 myclone环境 |
包管理 | |
---|---|
conda search beautifulsoup4 |
查看是否库中有这没有这个package |
conda install beautifulsoup4 |
安装pacage |
conda list |
查看当前环境下的所有包 |
conda list -e > requirements.txt |
|
conda create --name myenv --file requirements.txt |
从requirements.txt 创建环境 |
1. matplotlib折线图
知识点:
- 基本要点
- 散点图、直方图、柱状图
- 更多的绘图工具
from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,14,5,17,20,25,26,24,22,18,15]
# x和y都是可迭代对象
plt.plot(x,y)
plt.show()
还可以完善:
1.1 设置图片大小和清晰度
# plot之前设置
fig = plt.figure(figsize=(20,8),dpi=80)
1.2 保存到本地
# 画图之后调用
plt.savefig("路径文件名")
plt.savefig("a.png")
plt.savefig("a.svg") #保存为矢量图
1.3 添加图片的描述信息 —— xlabel, ylabel, title
plt.xlabel("时间", fontproperties=f) # 添加x轴的描述信息
plt.ylabel("温度"fontproperties=f)
plt.title("10点到12点每分钟的气温变化",fontproperties=f)
1.4 调整x或者y的刻度 —— xticks, yticks
plt.xticks([1,2,3,4,5]) # 把x中所有值画成x的坐标刻度, x必须是 全数字,才会一一对应
plt.xticks(range(2,25))
plt.xticks(x, xlabels) # 显示字符串,会把xlabels中的内容和x的数值对应,然后显示 label的文字
plt.xticks(x,xlabels, rotation) # rotation指定文字旋转角度, 90就是垂直方向
1.5 —— 输出中文
matplotlib默认不支持中文
a. matplotlib.rc
windows/linux 下使用
查看源代码学习
# 10点到12点的每一分钟的气温
from matplotlib import pyplot as plt
from matplotlib import font_manager
import matplotlib
import random
a= [random.randint(20,35) for i in range(120)]
# 1. 设置中文
font = {
'family' : 'simhei',
'weight' : 'bold'}
matplotlib.rc('font', **font)
# 2. 设置图形大小
plt.figure(figsize=(20,8), dpi=200)
# 3. 设置水平轴的名字
x_labels = [ f"{i//60+10}时{i%60}分" for i in range(120)]
plt.xticks(range(0,120,10), x_labels[::10], rotation=60)
plt.plot(range(120),a)
plt.show()
b. ★matplotlib.font_manager
- 使用
font_manager.FontProperties
- 传入字体文件的路径,来实例化字体
- 在调用方法的时候将其传入给
fontproperties
或者prop
(legend方法专用)
# 10点到12点的每一分钟的气温
from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
a= [random.randint(20,35) for i in range(120)]
# 1. 设置图形大小
plt.figure(figsize=(20,8), dpi=200)
# 2. 设置中文和字体
font = font_manager.FontProperties(fname="C:\Windows\Fonts\MSYH.ttc", weight="bold", size=14)
# 3. 设置水平轴的名字
x_labels = [ f"{i//60+10}时{i%60}分" for i in range(120)]
plt.xticks(range(0,120,10), x_labels[::10], rotation=60, fontproperties=font)
plt.yticks(fontproperties=font)
plt.plot(range(120),a)
plt.show()
案例 —— 交女朋友数量
# 11~30岁对象的数量
from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
# 1. 准备数据
_ygirls = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
_xages = range(11,31)
_xlabels = [f"{age}岁" for age in _xages]
# 2. 设置图形大小
plt.figure(figsize=(20,8), dpi=200)
# 3. 设置中文
font = font_manager.FontProperties(fname="C:\Windows\Fonts\MSYH.ttc", weight="bold", size=14)
# 4. 设置描述信息
plt.xlabel("年龄", fontproperties=font)
plt.ylabel("女朋友数量",fontproperties=font)
plt.title("11~30岁交的女朋友数量",fontproperties=font)
# 5. 设置水平轴的名字
plt.xticks( _xages, _xlabels, rotation=60, fontproperties=font)
plt.yticks(fontproperties=font)
# 6. 作图
plt.plot(_xages, _ygirls)
plt.show()
1.6 画网格 —— grid
注意: 网格是会在每个x和y轴刻度上绘制,所以要更改网格的疏密,应该去修改 轴线刻度
plt.grid()
plt.grid(alpha=0.4