Python视频学习(二十二、数据分析基础(上) matplotlib + numpy)

0 介绍

学习内容(这些学习6天):

  • 基础概念和环境
  • matplotlib
  • numpy
  • pandas

为什么学习数据分析:

  1. 岗位需求 —— web/爬虫 + 数据分析+ 机器学习
  2. 是机器学习的基础

数据分析的流程:

  1. 提出问题
  2. 准备数据
  3. 分析数据
  4. 获得结论
  5. 可视化

★Conda使用

Conda可以既可以管理Python环境,也可以管理Python的包,如果pip安装东西安装不上的话,使用conda安装,八成能装上。

conda是主要命令,使用它能够:

  1. Query and search the Anaconda package index and current Anaconda installation.
  2. Create new conda environments.
  3. 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

  1. 使用font_manager.FontProperties
  2. 传入字体文件的路径,来实例化字体
  3. 在调用方法的时候将其传入给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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值