numpy中的nan和常用方法

1、数组的拼接

import numpy as np

t1 = np.array([[0, 1, 2, 3, 4, 5],
               [6, 7, 8, 9, 10, 11]])

t2 = np.array([[12, 13, 14, 15, 16, 17],
               [18, 19, 20, 21, 22, 23]])

print(np.vstack((t1, t2)))  # 竖直拼接
print(np.hstack((t1, t2)))  # 水平拼接

[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]

[18 19 20 21 22 23]]


[[ 0 1 2 3 4 5 12 13 14 15 16 17]
[ 6 7 8 9 10 11 18 19 20 21 22 23]]

此处注意:对于切割,与上互逆

竖直拼接的时候:每一列代表的意义相同!!!否则牛头不对马嘴,如果每一列的意义不同,这个时候应该交换某一组的数的列,让其和另外一类相同。

2、数组的行列交换

import numpy as np

t = np.array([[0, 1, 2, 3, 4, 5],
              [6, 7, 8, 9, 10, 11],
              [12, 13, 14, 15, 16, 17]])

t[[1, 2], :] = t[[2, 1], :]  # 行交换
print(t)
print("-----------------------------")
t[:, [0, 2]] = t[:, [2, 0]]  # 列交换
print(t)

[[ 0 1 2 3 4 5]
[12 13 14 15 16 17]

[ 6 7 8 9 10 11]]


[[ 2 1 0 3 4 5]
[14 13 12 15 16 17]
[ 8 7 6 9 10 11]]

3、numpy更多好用的方法

  • 获取最大值最小值的位置
    • np.argmax(t,axis=0)
    • np.argmin(t,axis=1)
  • 创建一个全0的数组: np.zeros((3,4))
  • 创建一个全1的数组:np.ones((3,4))
  • 创建一个对角线为1的正方形数组(方阵):np.eye(3)

4、numpy生产随机数

image.png

原文地址:https://www.cnblogs.com/wangzheming35/p/15431064.html