机器学习-数据科学库 Day1

Day1

课程概要

matplotlib:画图

numpy:处理数值型数组

pandas:处理各种数值类型

为什么要学习数据分析

希望从大量的数据中寻找规律,价值等方便使用,通过大量的总结和分析寻找结论

(例如绘制成如下图)

                            

数据分析:

1.有岗位需求(爬虫、Web、机器学习等)

2.是python数据科学的基础

3.是机器学习课程的基础

什么是数据分析

数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。

数据分析的流程

 

不一定要可视化,也可以以文字或报告等形式返回

CONDA环境安装

conda : data science package & environment manager

创建环境:

conda create --name python3 python=3(新建一个环境,只为当前的项目服务)

切换环境:

windows :activate python3

linux/macos : source activate python3

官方地址:  https://www.anaconda.com/download/

认识jupyter notebook

jupyter notebook:一款编程/文档/笔记/展示软件

启动命令:jupyter notebook

为什么要学习matplotlib

1.能将数据进行可视化,直观的呈现

2.使数据更加客观、更具说服力

 

什么是matplotlib

matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建

matplotlib基本要点

axis轴,指的是x或者y这种坐标轴

每个红色的点是坐标,把5个点的坐标连接成一条线,组成了一个折线图

那么到底如何把它通过代码画出来呢?

通过下面的小例子我们来看一下matplotlib该如何简单的使用

假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是[15,13,14.5,17,20,25,26,26,27,22,18,15]

pyplot是一个画图的库

执行结果:

但是目前存在以下几个问题:

1.设置图片大小(想要一个高清无码大图)

2.保存到本地

3.描述信息,比如x轴和y轴表示什么,这个图表示什么

4.调整x或者y的刻度的间距

5.线条的样式(比如颜色,透明度等)

6.标记出特殊的点(比如告诉别人最高点和最低点在哪里)

7.给图片添加一个水印(防伪,防止盗用)

设置图片大小

dpi:每英寸点的像素个数

执行结果:

 调整X或者Y轴上的刻度

 结果:

那么问题来了:

       如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?

                                                a= [random.randint(20,35) for i in range(120)]

 结果:

设置中文显示

为什么无法显示中文:

matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字


查看linux/mac下面支持的字体:

fc-list   à查看支持的字体

fc-list :lang=zh à查看支持的中文(冒号前面有空格)

那么问题来了:如何修改matplotlib的默认字体?

       通过matplotlib.rc可以修改,具体方法参见源码(windows/linux)

 通过matplotlib 下的font_manager可以解决(windows/linux/mac)

#coding = utf-8
#如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager

#windowsLinux设置字体的方式
#font = {'family' : 'MicroSoft YaHei',
#       'weight' : 'bold',
#       'size'   : 'larger'}
#matplotlib.rc('font',**font)
#matplotlib.rc('font',family = 'MicroSoft YaHei',weight = 'bold')

#另一种设置字体的方式windows自带的ttf
my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")

plt.figure(figsize=(20,8),dpi=80)

x = range(0,120)
y = [random.randint(20,35) for i in range(120)]
     #random.randint生成一个指定范围内的整数
     #列表解析:[random.randint(20,35) for i in range(120)]
     #生成一共120长的列表,每个值存放的是20~35的随机数
plt.plot(x,y)

#调整x轴的刻度
_x = list(x)  #强制转换为列表,才能取步长
_xtick_labels = ['10{}'.format(i) for i in range(60)]
_xtick_labels +=['11{}'.format(i-60) for i in range(60)]

#取步长,数字和字符串一一对应,数据的长度一样才能完全覆盖轴
plt.xticks(_x[::3],_xtick_labels[::3],rotation=-45,fontproperties=my_font)
#数字和字符串做对应,rotation 让字符串旋转90

plt.show()

结果:

 

那么x轴y轴当前图形到底表示什么是不是应该明确一下呢?

给图像添加描述信息

#添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位(℃)",fontproperties=my_font)
plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)

 结果: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值