【腾学汇的第1个实验代码】应用Matplotlib绘制图标分析

在这里插入图片描述


应用Matplotlib绘制图标分析

# 1.创建一维数组
# 导入包
import numpy as np

#两种方式创建一维数组
vector = np.array([1,2,3])  #把数列转换成 nampy格式的数组
print(vector)

print(type([1, 2, 3]), type(vector))
vector = np.arange(15)  #使用numpy.arange()方法创建给定区间,固定步长的数组或矩阵
print(vector)

"""

range([start, ]stop [,step])

"""

在这里插入图片描述

# 2.创建多为数组
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)

在这里插入图片描述

# 创建指定维度且元素全部为1的数组
one_matrix = np.ones([2,3])  #创建2*3的全1数组
print("全1数组:\n",one_matrix)
# 创建指定维度且元素全为0的数组
zero_matrix = np.zeros([2,3]) #创建2*3的全0数组
print('全0数组\n',zero_matrix)
# 创建指定维度且元素全为随机数的数组
rand_matrix = np.empty([2,3]) #创建2*3的全随机数组
print('全随机数组:\n', rand_matrix) #此处生成的值不一定是0,因为刚好分配给当前函数生成值的内存上刚好是0

#此处生成的值不一定是0,因为刚好分配给当前函数生成值的内存上刚好是0

在这里插入图片描述

# 3.操作数组元素
a = np.ones([2,3])
print(a)
a[1,1] = 100  #将数组a的[1,1]的值修改为100
print(a)

a[0,2] = -10
print(a)

在这里插入图片描述

a = np.ones([2,3])
# ndim: 统计数组维数,即维度的数量
print('维度', a.ndim)
# shape:统计数组维度值,即数组行和列
print('形状',a.shape)
# size:统计数组元素的综述
print('元素个数',a.size)
# dtype:数组元素类型
print('元素类型',a.dtype)
# itemsize:数组中每个元素的字节大小
print('每个元素的字节大小',a.itemsize)

在这里插入图片描述

# 1.数组的算数运算
# 数组加、减、乘、除
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

print("a+b", a+b);
print("a-b", a-b);
print("a*b", a*b);
print("a/b", a/b);

在这里插入图片描述

import time
num_count = 10000
a = [i for i in range(num_count)]
b = [i for i in range(num_count)]

list_res = []

t1 = time.time()
for i in range(num_count):
    list_res.append(a[i] + b[i])
t2 = time.time()
list_cost = t2-t1
# print(list_res)

np_a, np_b = np.array(a), np.array(b)
t3 = time.time()
np_res = np_a + np_b
t4 = time.time()
np_cost = t4-t3

print('列表迭代计算耗时 = %.8f' % list_cost) #把变量填到%.8f这个地方,保留8位小数
print('numpy计算耗时 = %.8f' % np_cost)

print(np.array_equal(np_res,np.array(list_res)),f"{np_cost/list_cost: .8f}")
# print(np_res) 
# 结果发现 用np做计算的耗时比直接用列表计算的耗时 减少一半,因其强大的性能,所以常被用来做数学运算

结果发现 用np做计算的耗时比直接用列表计算的耗时 减少一半,因其强大的性能,所以常被用来做数学运算

在这里插入图片描述

# 2.数组实现矩阵运算
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

print("a*b=",a*b)
#numpy.dot(矩阵乘)有2种写法:①x.dot(y)②np.dot(x,y)
print("Matrix1:",a.dot(b))
print("Matrix2:",np.dot(a,b))

在这里插入图片描述

#3.数组与标量算术运算
a = np.array([1,2,3])
print("a+2=",a+2)
print("a-2=",a-2)
print("a*2=",a*2)
print("a/2=",a/2)

在这里插入图片描述

#4.一维数组的min,maX,Sum运算
a = np.array([1,2,3])
print("min of array:",a.min())
print("max of array:",a.max())
print("sum of array:",a.sum())

#一维数组的exp,sgrt,square运算
print("exp of array:",np.exp(a))
print("sqrt of array:",np.sqrt(a))
print("square of array:",np.square(a))

e = 2.71828183  
e ** 2

在这里插入图片描述

#5.多维数组的min,max,sum运算
a = np.array([[1,2,3],[4,5,6]])
print("min of array:",a.min())
#ax15=0,表示沿着纵轴进行计算
print("min of array:",a.min(axis=0))
#axi5=1,表示沿着纵轴进行计算
#【数组1,数组2]
#数组1=[1,2,3]
#数组2=[4,5,6]
print("min of array:",a.min(axis=1))
print("max of array:",a.max())
print("max of array:",a.max(axis=0))
print("max of array:",a.max(axis=1))
print("sum of array:",a.sum())
print("sum of array:",a.sum(axis=0))
print("sum of array:",a.sum(axis=1))```

在这里插入图片描述

#6.随机数组生成
np.random.seed(42)  
print(np.random.rand(2,3)) # 均匀随机分布,[0,1]
print(np.random.randn(2,3)) # 正态分布
print(np.random.randint(1,10))# [start, end]
print(np.random.binomial(6,1))# 二项分布
print(np.random.beta(2,3)) # beta分布
print(np.random.normal(2,3)) #高斯正态分布

在这里插入图片描述

#7.一维数组索引、切片、送代 
a=np.arange(10)
print(a)#打印整个数组 
print(a[:5])#打印数组前5个元素 
for i in a: 
            print(a[i])

在这里插入图片描述

#8.多维数组索引、切片、迭代
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
#打印整个数组
print(a[0:2,1:3])#打印数组不同维度指定元素
# a[0:2,] = [[1,2,3],[4,5,6]]
# a[0:2, 1:3] = [[2,3],[5,6]]
for i in a:
    print(i)

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt 
a=np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
plt.hist(a,bins=[0,20,40,60,80,100])

np.sort(a)

在这里插入图片描述
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
a=np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
hist,bins=np.histogram(a,bins=[0,10,20,30,40,50,60,70,80,90,100])
print(hist)
print(bins)

在这里插入图片描述

x = [(bins[i]+bins[i+1])/2 for i in range(len(bins)-1)]#每个柱子的中心坐标
print("x:",x)
y = hist  #每个柱子的高度
plt.bar(x,y,width=bins[1]-bins[0])#width表示每个柱子的宽度
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KevinGuo457

哈哈哈资助我买两包辣条叭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值