自己总结numpy用法

最近用numpy比较多,边用边自己总结用法。

1. 数组

1.1 生成 m行 * n列 的随机数组

import numpy as np

# 生成 m行*n列 的随机数组
# np.random.random((m, n))
# 生成一个3行2列的随机数组,想让它看起来大一点,在后面乘50
print(np.random.random((3, 2)) * 50)

 1.2 生成一组随机样本点,样本点的个数为n

np.random.rand(n)

示例:

>>> np.random.rand(10)   # 生成一个有10个样本点的随机数组
array([0.8769499 , 0.70305017, 0.23591552, 0.6060884 , 0.33132381,
       0.37187465, 0.31462118, 0.54622967, 0.25750118, 0.42270614])

1.3 array.shape:返回数组的行列数

# 生成一个两行三列的数组
array1 = np.random.random((2, 3))
# 输出数组的行列数
print(array1.shape)

输出:

(2, 3)

 

 1.4

np.float32()和np.float64的区别
数位的区别,一个在内存中占分别32和64个bits,也就是4bytes或8bytes
数位越高浮点数的精度越高

 1.5 np.hstack(tuple):将数组沿水平方向堆叠

def func1():
    arr1 = np.array([[1, 2, 3], [4, 5, 6]])
    arr2 = np.array([[1, 2, 3], [4, 5, 6]])
    # print(arr1.shape)
    new_arr = np.hstack((arr1, arr2))
    print(new_arr.shape)
    print(new_arr)

    return

if __name__ == '__main__':
    func1()

结果:

(2, 3)
(2, 6)
[[1 2 3 1 2 3]
 [4 5 6 4 5 6]]

 

 1.6 np.random.shuffle(arr):将数组打乱顺序(只打乱最外层)

def func2():
    arr = np.arange(10)
    print(arr)
    np.random.shuffle(arr)
    print(arr)

    return

if __name__ == '__main__':
    func2()

结果:

[0 1 2 3 4 5 6 7 8 9]
[3 9 0 5 6 1 8 4 7 2]

 

 

1.7 np.arange

 

posted @ 2019-09-05 11:14  正态分个布  阅读(517)  评论(2编辑  收藏  举报