蓝绝

博客园 首页 新随笔 联系 订阅 管理

1.numpy数组用列表直接创建

import numpy as np
age=[15,16,18]                         #创建列表,后面赋值列表
array3=np.array(age,dtype=np.float64)  #用自带的  np.float64 比较全面
array3
array([15., 16., 18.])

2.使用np的routines函数创建

包含以下常见创建方法:
1) np.ones(shape, dtype=None, order='C')                                      #可构造多维的数值为1的多维数组       

2) np.zeros(shape, dtype=float, order='C')                                       #可构造多维的数值为0的多维数组 

3) np.full(shape, fill_value, dtype=None, order='C')                           #创建数值为指定数值的多维数组

4) np.eye(N, M=None, k=0, dtype=float) 对角线为1其他的位置为0       #创建单位矩阵

5) np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)   #创建等差数列    规定个数   只能生成一维的

6) np.arange([start, Jstop, [step, Jdtype=None)                                                       #创建等差数列    规定步长   只能生成一维的

7) np.random.randint(low, high=None, size=None, dtype='l')                                  #生成随机整数     可以是多维的

8)正态分布函数                                                                                                       #创建多维中间大两头小的橄榄数据

  np.random.randn(do, d1, ..., dn) 标准正态分布
  np.random.normal() 普通正态分布
9) np.random.random(size=None)                                                                           #可创建多维 生成0到1的随机数,左闭右开

         生成0到1的随机数,左闭右开

扩展10)  np. random. permutation (X)                                     #生成0-X的随机索引(不包括X索引)

---------------------------------------------------------------------------------------------------------------------

1) np.ones(shape, dtype=None, order='C')

#注意一维数组为 单个[]  , 二维数组为2个[]

shape = (m, n)m行n列 二维数组

shape = (m) m个元素的一维数组 [1,2,3]

shape = (m,) m个元素的一维数组

shape = (m, 1) m行1列 二维数组 [[1], [2], [3]]

shape = (1, n) 1行m列 二维数组 [[1,2, 3]]

#构造一个5行3列的二维数组
np.ones(shape=(5,3),dtype=np.int8)
array([[1, 1, 1],
       [1, 1, 1],
       [1, 1, 1],
       [1, 1, 1],
       [1, 1, 1]], dtype=int8)
#构造长度为3的一维数组#
# np. ones (shape=(3, ))
np.ones(shape= (3))
array([1., 1., 1.])
#构造一个5行1列的二维数组
np.ones(shape= (5, 1))
array([[1.],
       [1.],
       [1.],
       [1.],
       [1.]])
#构造1行3列的二维数组
np.ones(shape= (1, 3))
array([[1., 1., 1.]])

 ------------------------------------------------------------------------------------

2) np.zeros(shape, dtype=float, order='C')

#创建数值为0的多维数组,几行几列几多维
import numpy as np
np.zeros(shape=(2,3,4))
array([[[0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.]],

       [[0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.]]])

------------------------------------------------------------------------------

4) np.eye(N, M=None, k=0, dtype=float) 对角线为1其他的位置为0 

#创建单位矩阵
np.eye(N=5,M=4,k=-1)     #5行4列,左移1

5) np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)        #生成一维的

 

#创建等差数列
np.linspace(0,10,10)     #(0-10,且共10个数)的等差数列
#因为开始不为1,所以是小数,间隔为10/9=1.11111
array([ 0.        ,  1.11111111,  2.22222222,  3.33333333,  4.44444444,
        5.55555556,  6.66666667,  7.77777778,  8.88888889, 10.        ])
#创建等差数列(不包含最后一个数)
np.linspace(0,10,10,endpoint=False)  #endpoint=False 去掉最后一个数
array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])

----------------------------------------------------------------------------------------------------------------

6) np.arange([start, Jstop, [step, Jdtype=None)            #生成一维的

 

#创建等差数列,规定步长(不包括最后一个数)
np.arange(0,10,step=1)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

7) np.random.randint(low, high=None, size=None, dtype='l')

#生成随机整数     #size 同 shape
np.random.randint(0,100,size=(5,5))  #生成5行5列0-100的随机整数
array([[ 7,  4, 36, 80, 76],
       [86,  3, 66, 52, 72],
       [85, 48, 24, 19, 10],
       [67, 24, 21, 12, 71],
       [92, 29, 36, 35, 35]])

8)正态分布函数

#创建一个标准正态分布的数据
np.random.randn(3,5)
array([[ 1.41149345,  1.08273925, -0.30380259, -0.35465171,  0.85719596],
       [-0.45436861,  0.88379208, -1.78201782,  2.0325225 , -0.43959887],
       [-0.91191596, -0.47504492,  0.62851312,  0.15178143, -0.68831409]])
#创建一个普通正态分布的数据
np.random.normal(loc=170,scale=5,size=(4,4))  #创建4行4列的 170数字差异为5之内的正态分布数据
array([[177.15008199, 170.58823699, 166.99916942, 175.6742695 ],
       [168.53995669, 173.96791903, 168.99829437, 162.98638972],
       [176.76146415, 173.44810281, 168.90365045, 166.15632439],
       [168.22087467, 173.28658553, 171.05024904, 164.20024835]])

9) np.random.random(size=None) 

#创建10个0-1的随机数的一维数组
np.random.random(size=10)
array([0.85946945, 0.01579511, 0.43881095, 0.07421166, 0.11319703,
       0.11745913, 0.7242403 , 0.02865902, 0.59481886, 0.52411829])
#创建5行5列的0-1的随机数的多维数组
np.random.random(size=(5,5))
array([[0.37223084, 0.40787061, 0.85511552, 0.37726996, 0.8551351 ],
       [0.65057012, 0.11895027, 0.58166118, 0.40537762, 0.94738548],
       [0.04710058, 0.25679987, 0.23070045, 0.51389781, 0.1386905 ],
       [0.45193427, 0.15550545, 0.17975954, 0.11239537, 0.03712501],
       [0.21398085, 0.29780659, 0.16403382, 0.73191562, 0.33294884]])

生成一组随机索引 np. random. permutation (X)

#生成0-10的随机索引(不包括10索引)
np.random.permutation(10)
array([8, 4, 5, 0, 1, 3, 9, 2, 6, 7])

 

posted on 2022-11-12 22:49  蓝绝  阅读(60)  评论(0编辑  收藏  举报