展平数组
a.ravel()
垂直拼合数组
np.vstack((a, b))
水平拼合数组
np.hstack((a, b))
沿横轴分割数组
np.hsplit(a, 3)
返回每列最大值
np.max(a, axis=0)
返回每行最小值
np.min(a, axis=1)
返回每列最大值索引
np.argmax(a, axis=0)
统计数组各列的中位数
np.median(a, axis=0)
统计数组各行的算术平均值
np.mean(a, axis=1)
统计数组各列的加权平均值
np.average(a, axis=0)
统计数组各列的加权平均值
np.average(a, axis=0)
统计数组各行的方差
np.var(a, axis=1)
统计数组各列的标准偏差
np.std(a, axis=0)
统计数组各行的方差
np.var(a, axis=1)
使用数字 0 将一个全为 1 的 5x5 二维数组包围
Z = np.ones((5,5))
Z = np.pad(Z, pad_width=1, mode=’constant’, constant_values=0)
创建一个 5x5 的二维数组,并设置值 1, 2, 3, 4 落在其对角线下方
Z = np.diag(1+np.arange(4),k=-1)
创建一个 10x10 的二维数组,并使得 1 和 0 沿对角线间隔放置
Z = np.zeros((10,10),dtype=int)
Z[1::2,::2] = 1 ##每两个
Z[::2,1::2] = 1
创建一个 0-10 的一维数组,并将 (1, 9] 之间的数全部反转成负数
Z = np.arange(11)
Z[(1 < Z) & (Z <= 9)] *= -1
使用 NumPy 打印昨天、今天、明天的日期
yesterday = np.datetime64(‘today’, ‘D’) - np.timedelta64(1, ‘D’)
today = np.datetime64(‘today’, ‘D’)
tomorrow = np.datetime64(‘today’, ‘D’) + np.timedelta64(1, ‘D’)
print(“yesterday: “, yesterday)
print(“today: “, today)
print(“tomorrow: “, tomorrow)
创建一个 5x5 的矩阵,其中每行的数值范围从 1 到 5
Z = np.zeros((5,5))
Z += np.arange(1,6)
创建一个 5x5 的矩阵,其中每行的数值范围从 1 到 5
Z = np.zeros((5,5))
Z += np.arange(1,6)
找出随机一维数组中出现频率最高的值
Z = np.random.randint(0,10,50)
print(“随机一维数组:”, Z)
np.bincount(Z).argmax()
找出给定一维数组中非 0 元素的位置索引
Z = np.nonzero([1,0,2,0,1,0,4,0])
将数组中各元素按指定分类转换为文本值
Z = np.random.randint(1,4,10)
print(Z)
label_map = {1: “汽车”, 2: “公交车”, 3: “火车”}
[label_map[x] for x in Z]
——>
Z1 = np.arange(3)
Z2 = np.arange(3,7)
Z3 = np.arange(7,10)
Z = np.array([Z1, Z2, Z3])
print(Z)
np.concatenate(Z)
得到二维随机数组各行的最大值
Z = np.random.randint(1,100, [5,5])
print(Z)
np.amax(Z, axis=1)
计算两个数组之间的欧氏距离
a = np.array([1, 2])
b = np.array([7, 8])
数学计算方法
print(np.sqrt(np.power((8-2), 2) + np.power((7-1), 2)))
NumPy 计算
np.linalg.norm(b-a)