文章目录
数组numpy
值得一提的是广播功能还挺有意思
import numpy as np
# 一维数组
x = np.array([1.0, 2.0, 3.0])
print(x.shape) # shape 查看形状
print(x.dtype) # dtype查看数据类型
print(x / 2)
# 二维数组
A = np.array([[1.0, 2.0], [2.0, 3.0]])
B = np.array([[1.0, 2.0], [2.0, 3.0]])
print(A + B)
print(A * B)
# 广播功能
'''
在Numpy中,形状不同的数组间也可以进行运算
'''
# 下面这个例子将标量10拓展为2*2的形状10 10 10 10
A = np.array([[1, 2], [2, 3]])
print(A * 10)
# 拓展为2*2 10 20 10 20
A = np.array([[1, 2], [2, 3]])
B = np.array([10, 20])
print(A * B)
# 访问元素
X = np.array([[51, 55], [1, 19], [0, 4]])
print(X[0]) # 第零行
print(X[0][1]) # (0,1)的元素
# 可以用for语句访问各个元素(遍历每一行)
for row in X:
print(row)
# 转换为一维数组
print('转换前', X.shape)
X = X.flatten()
print('转换后', X.shape)
print(X)
print(X[np.array([0, 2, 4])]) # 获取索引为0、2、4的元素
# 运用这个标记法获取X中大于15的元素
print(X > 15) # 输出[ True True False True False False]
print(X[X > 15]) # 输出[51 55 19]
print(X[[True, True, False, True, False, False]])
简单的绘图sin&cos
# coding: utf-8
import matplotlib.pyplot as plt
from matplotlib.image import imread
'''
./ 当前目录。
../ 父级目录。
/ 根目录
'''
img = imread('../../temp/code.png') # 读入图像前面那个叫父级目录的父级目录 /temp/抢课各个阶段/code.png
plt.imshow(img)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.arange(0, 6, 0.1) # 以0.1为单位生成0-6的数据
y1 = np.sin(x)
y2 = np.cos(x)
# 绘制图形
plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos', linestyle='--') # 用虚线绘制
plt.xlabel("x") # x轴标签
plt.ylabel('y') # y轴标签
plt.title('sin&cos')
plt.show()