import numpy as np
import matplotlib.pyplot as plt
用tile函数创建一个8*8的棋盘样式矩阵
data1=np.tile(np.array([[0,1],[1,0]]),(4,4))
print(data1)
# plt.figure()
# plt.imshow(data1, cmap=plt.cm.gray)
# plt.show()
[[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]]
对一个5*5的随机矩阵做归一化
data2=np.random.random((5,5))
data2max,data2min=data2.max(),data2.min()
data2=(data2-data2min)/(data2max-data2min)
print(data2)
[[0.39135483 0.29303257 0.55324948 0.69148397 0.86963742]
[0.84912264 0.99844775 0.40489954 0. 0.75270285]
[0.57701932 0.78788045 0.82291171 1. 0.44317849]
[0.24548609 0.20690477 0.30739732 0.14735295 0.10933341]
[0.33910617 0.25363807 0.5306892 0.02807962 0.33269152]]
创建一个将颜色描述为(RGBA)四个无符号自己的自定义dtype
# color = np.dtype([("r",np.ubyte,1),
# ("g",np.ubyte,1),
# ("b",np.ubyte,1),
# ("a",np.ubyte,1)])
# print(color)
[('r', 'u1'), ('g', 'u1'), ('b', 'u1'), ('a', 'u1')]
一个5*3的矩阵与一个3*2的矩阵相乘;
创建随机整数矩阵a1,a2
a1 = np.random.randint(10,size=(5,3))
a2 = np.random.randint(10,size=(3,2))
print(a1)
print(a2)
print(np.dot(a1,a2))
print(a1.dot(a2))
print("_____a1.dot(a2) 等价于 np.dot(a1,a2) ______")
_____向量点积和矩阵乘法_______
[[7 2 2]
[8 9 2]
[9 2 6]
[3 2 2]
[0 0 2]]
[[3 9]
[5 9]
[2 1]]
_____np.dot结果:_______________
[[ 35 83]
[ 73 155]
[ 49 105]
[ 23 47]
[ 4 2]]
_____a1.dot(a2)结果:_____________
[[ 35 83]
[ 73 155]
[ 49 105]
[ 23 47]
[ 4 2]]
_____a1.dot(a2) 等价于 np.dot(a1,a2) ______
给定一个一维数组,对其再3-8之间的所有元素取反
data3 = np.arange(10)
data3[(3<data3)&(data3<=8)]*=-1
print(data3)
[ 0 1 2 3 -4 -5 -6 -7 -8 9]