numpy模块

1. np.newaxis--为 numpy.ndarray(多维数组)增加一个轴]

np.newaxis 在使用和功能上等价于 None,其实就是 None 的一个别名

>> type(np.newaxis)
NoneType
>> x = np.arange(3)
>> x
array([0, 1, 2])
>> x.shape
(3,)

>> x[:, np.newaxis]
array([[0],
       [1],
       [2]])

>> x[:, None]
array([[0],
       [1],
       [2]])

>> x[:, np.newaxis].shape
 (3, 1)
>>> b = np.array([1, 2, 3, 4, 5, 6])
>>> b[np.newaxis]
array([[1, 2, 3, 4, 5, 6]])
2. np.linspace实现间隔采样

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)[source]

a=np.linspace(-1,1,num=5)
print a
# 输出
>>>[-1.  -0.5  0.   0.5  1. ]
3. nan inf

numpy.nan_to_num(x):
使用0代替数组x中的nan元素,使用有限的数字代替inf元素

>>>import numpy as np
>>> a = np.array([[np.nan,np.inf],\
...               [-np.nan,-np.inf]])
>>> a
array([[  nan,   inf],
       [  nan,  -inf]])
>>> np.nan_to_num(a)
array([[ 0.00000000e+000,  1.79769313e+308],
       [ 0.00000000e+000, -1.79769313e+308]])

和此类问题相关的还有一组判断用函数,包括:

  • isinf
  • isneginf
  • isposinf
  • isnan
  • isfinite 使用方法也很简单,以isnan举例说明:
>>> import numpy as np
>>> np.isnan(np.array([[1, np.nan, np.inf],\
...               [np.nan, -np.inf, -0.25]]))
array([[False,  True, False],
       [ True, False, False]], dtype=bool)
4. axis

axis和list中的选的时候一样啊...不管是几维,都是当做一个一维数组存,只不过每个数组元素都是地址而已,以345的三维为例,第一层(axis=0,即页)一维数组的元素存的是3个地址,每个地址都指向一个4*5的二维数组,然后第二层(axis=1,即行)一维数组的元素存的是4个地址,每个地址都指向一个长度为5的一维数组,第三层(axis=2,即列)一维数组的元素就是5个元素value。所以莫烦这里讲的二维,axis=0,取行,是将3个长度为4的一维数组相加得到1个长度为4的一维数组,然后对每个元素求平均(这里是三行,即除3)结果得到一个长度为4的一维数组,做的操作实际上代表的是,对列求平均,axis=1取列同理,取的是3个一维数组中每一个一维数组中的各个元素,每个一维数组内部相加求平均(四个元素,即除4),结果得到一个长度为3的一维数组,做的操作实际上代表对行求平均。

A = np.arange(2, 14).reshape(3, 4)
print(A)
print(np.mean(A, axis=1))  # 行
print(np.mean(A, axis=0))  # 列

简单的记法完全没问题:axis=0 表示对行(上下)进行操作计算,axis=1表示对列(左右)进行操作计算
https://blog.csdn.net/Cowry5/article/details/80188056

5. reshape(1, -1)

不知道z的shape属性时,将z变成只有一列/一行,numpy自动计算对应的行和列数

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

>>> print(z)
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]
 [13 14 15 16]]
>>> print(z.shape)
(4, 4)
>>> print(z.reshape(-1))
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16]
>>> print(z.reshape(-1,1))
numpy模块_第1张图片

你可能感兴趣的:(numpy模块)