美文网首页
[numpy]numpy创建数组的方法

[numpy]numpy创建数组的方法

作者: Franckisses | 来源:发表于2019-03-07 14:41 被阅读30次

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。可以说NumPy对于数组的操作可以达到极致。
今天就简单的演示几个numpy中创建数组的方法:
首先要导入numpy:

import numpy as np

1.首先我们可以使用np.array的方法,通过导入一个列表来创建一个数组。

a = [1,2,3,4,5,6,7]
b = np.array(a)
b
type(b)

>>array([1, 2, 3, 4, 5, 6])
>><class 'numpy.ndarray'>

2.numpy中数组支持元素的同质性。传入的元素类型要是同一种。如果使用np.array()函数时,其中的数组类型不一致,numpy会将其转化为统一类型。

a = np.array([3.14, 4, 2, 3])

>>array([ 3.14,  4.  ,  2.  ,  3.  ])

b = np.array(['nihao','wpmen',123])

>>array(['nihao', 'wpmen', '123'], dtype='<U5')  # dtype="U5"表示字符串不超过5位

3.如果我们想指定生成的数组的类型我们可以使用dtype。

np.array([1, 2, 3, 4], dtype='float32')

>>array([1, 2, 3, 4], dtype='float32')

4.也可以使用列表推导式来生成不同的多维的数组。

np.array([range(i, i + 3) for i in [1, 5, 10]])
>>array([[ 1,  2,  3],
        [ 5,  6,  7],
        [10, 11, 12]])

5.创建一个全0 的数组。

np.zeros(10, dtype=int)  #创建一个数组中有10个0。
>>array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

np.zeros((3, 5), dtype=float)
>>array([[0., 0., 0., 0., 0.],
          [0., 0., 0., 0., 0.],
          [0., 0., 0., 0., 0.]])

6.创建一个全1的数组。

np.ones(10,dtype=float)
>>array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

np.ones((2,4), dtype=float)
>>array([[1., 1., 1., 1.],
         [1., 1., 1., 1.]])

7.创建一个指定的数字的数组。

np.full((3, 5), 'haha')
>>array([['haha', 'haha', 'haha', 'haha', 'haha'],
     ['haha', 'haha', 'haha', 'haha', 'haha'],
     ['haha', 'haha', 'haha', 'haha', 'haha']], dtype='<U4')

8.创建一个等差数列一样的数组。

np.arange(0, 20, 2)
>>array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

9.在指定的区间内生成指定个数字的等差数组。

np.linspace(0, 1,10)  #在0到1之间生成10个等差的数字
>>array([0.        , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
   0.55555556, 0.66666667, 0.77777778, 0.88888889, 1.        ])

10.生成0到1之间的2x2的数组。

np.random.random((2, 2))
>>array([[0.32408551, 0.38448842],
         [0.46157336, 0.67681802]])    

11.生成8个符合正态分布的随机数。

np.random.normal(0, 1,8)
>>array([-0.7775034 , -2.80235722,  0.38742176, -0.34604882,      
    1.57361521, -1.18428685, -0.33859573,  1.58450184, ])

12.生成对角矩阵。

np.eye(3)
>>array([[1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.]])
np.eye(3,k=1)
>>array([[0., 1., 0.],
       [0., 0., 1.],
       [0., 0., 0.]])
#解释:
第一个参数:输出方阵(行数=列数)的规模,即行数或列数
第三个参数:默认情况下输出的是对角线全“1”,其余全“0”的方阵,如果k为正整数,则在右上方角
线全“1”其余全“0”,k为负整数则在左下方第k条对角线全“1”其余全“0”。

相关文章

  • NumPy 常用操作备忘

    0.导入 numpy 1.创建 numpy 数组NumPy 数组 (np.array) 可以生成 N 维数组,即可...

  • [numpy]numpy创建数组的方法

    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运...

  • Numpy 常用函数

    numpy 数据类型 numpy 数组创建函数 numpy.empty(shape,): 创建指定类型, 指定形状...

  • NumPy

    Numpy简单创建数组 Numpy查看数组属性 数组元素个数 数组形状 数组维度 数组元素类型 快速创建N维数组的...

  • python(numpy)的使用

    (一).创建数组 import numpy as np(导入numpy模块) 1.创建基本数组 (1).arr =...

  • python的学习笔记9

    十一、数组的创建 1、通过列表创建数组 2、numpy中定义的原生数组创建函数 (1)numpy.zeros(sh...

  • Numpy&Pandas&Matplotlib速查手册

    Numpy Pandas Matplotlib Numpy_1 数组的创建和访问 由list产生数组 array(...

  • 创建NumPy数组(和矩阵)

    numpy.zeros() 创建零数组或者零矩阵 numpy.ones() 获得全一的数组或者矩阵 numpy.f...

  • 【Python学习笔记】numpy初学笔记

    1. Numpy数组的创建 2. Numpy数组的属性 ndim : 数组的维度 shape : 数组每个维度的大...

  • numpy的使用小结

    数组创建 numpy.empty(shape, dtype=float, order='C')numpy.zero...

网友评论

      本文标题:[numpy]numpy创建数组的方法

      本文链接:https://www.haomeiwen.com/subject/vyjcpqtx.html