Python人工智能高级67(matplotlib,numpy)

目录

1、Matplotlib

2、Numpy

Numpy的优势:

ndarray:


1、Matplotlib

import matplotlib.pyplot as plt
import random
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']

# 生成数据
x = range(60)
y = [uniform(15,18) for i in x]
# 创建画布   figsize 画布大小   dpi 像素密度
plt.figure(figsize=(20,8))
# 绘制图像
plt.plot(x,y)
# 添加描述信息
plt.xlabel('时间',fontsize=20)
plt.ylabel('温度',fontsize=20)
plt.title('折线图',fontsize=30)
# 添加坐标轴刻度
x_tick_lable = ['9点{}分'.format(i) for i in x]
plt.xticks(x[::5], x_tick_lable[::5])
y_range = range(40)
plt.yticks(y_range[::5])
# 添加网格线
plt.grid(linestyle='-',alpha=0.9)
# 保存图像(保存图像必须在显示图像之前)
plt.savefig('./text.png')
# 显示图像
plt.show()

2、Numpy

Numpy的优势:

       (1)内存直接存数值,取数快;

       (2)支持并行化运算;

       (3)用C语言编写底层代码,效率高。

ndarray:

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.array([1,2,3,4,5])
c = np.array([[[1,2,3],[2,3,4]],[[5,6,7],[8,9,10]]])

# 数组元组的维度
a.shape
# 数组维数
a.ndim 
# 数组中的元素数量
a.itemsize 
# 一个数组元素的长度(字节)
a.dtype 
# 数组中的元素数量
a.size 

# 生成全0数组
np.zeros((6,6,6))
# 生成全1数组
np.ones((6,6,6))

# 生成和d形状一样的全0,1数组
d = np.array([[1,2,3],[4,5,6]])
np.zeros_like(d)
np.ones_like(d)

# 复制的形式生成新数组
e = np.array(d)
# 引用的形式生成新数组
f = np.asarray(d)

# 从指定范围内等间隔取指定数量的元素
np.linspace(1,10,10)
# 从指定范围内从开始值按照指定步长取数,一直到结束值为止(不包括结束值)
np.arange(1,9,2)
# 生成等比数列,前三个参数为底数,最后一个参数为幂
np.logspace(1,10,10,base=3)

# 均匀抽样生成随机数组
np.random.rand(1,10)
np.random.uniform(1,10,(2,3))
np.random.randint(1,10,(2,3))

# 正态分布抽样生成随机数组
np.random.randn(2,3)   # 标准正态分布抽样
np.random.normal(loc=1, scale=2, size=(2,3))   # loc 平均值,scale 方差
np.random.standard_normal((2,3))   # 标准正态分布抽样

# 随机生成一个8行5列的数据
stock_change = np.random.standard_normal((8,5))
# 修改第一行第一列的元素的数值
stock_change[0,0] = 6
# 切片,每个维度用冒号索引切片,有多少维度,就传多少个冒号索引   开始索引:结束索引:步长值
stock_change[:4:2,:]

# 生成新的数组,不修改原数组
temp = np.linspace(1,12,12)
res = temp.reshape((3,4))
#生成新的数组,修改原数组
temp.resize((3,4)) 
# 转置,行列互换  
temp.T   

# 修改dtype
res = temp.astype(np.int64)
# 把ndarray对象序列化
s = temp.tostring()
# 把序列化数据转为ndarray对象
np.frombuffer(s, dtype=np.float64).reshape((3,4))

# 去重,返回一维数组
temp = np.array([[1,2,3,4],[3,4,5,6]])
np.unique(temp)
发布了40 篇原创文章 · 获赞 53 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/maergaiyun/article/details/103242783