numpy 创建数组

1.数组创建

numpy 提供的最重要的数据结构是ndarray,它是 python 中list的扩展。

(1)通过array()函数进行创建。

创建一维数组

>>> a = np.array([0, 1, 2, 3, 4])
>>> b = np.array((0, 1, 2, 3, 4))
>>> print(a, type(a))
[0 1 2 3 4] <class 'numpy.ndarray'>

创建二维数组

c = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28, 29, 30],
              [31, 32, 33, 34, 35]])
print(c, type(c))
# [[11 12 13 14 15]
#  [16 17 18 19 20]
#  [21 22 23 24 25]
#  [26 27 28 29 30]
#  [31 32 33 34 35]] <class 'numpy.ndarray'>

创建三维数组

>>> d = np.array([[(1.5, 2, 3), (4, 5, 6)],
...               [(3, 2, 1), (4, 5, 6)]])
>>> print(d, type(d))
[[[1.5 2.  3. ]
  [4.  5.  6. ]]

 [[3.  2.  1. ]
  [4.  5.  6. ]]] <class 'numpy.ndarray'>

(2)通过asarray()函数进行创建

array()和asarray()均可以将结构数据转化为ndarray,当当数据源是ndarray 时,array()仍然会 copy 出一个副本,占用新的内存,在不改变dtype时,asarray()不会进行复制。

  • empty()函数:返回一个空数组,数组元素为随机数。
  • eye()函数:返回一个对角线上为1,其它地方为零的单位数组。
  • diag()函数:提取对角线或构造对角数组。

2.利用数值范围来创建ndarray

  • arange()函数:返回给定间隔内的均匀间隔的值。
  • linspace()函数:返回指定间隔内的等间隔数字。
  • logspace()函数:返回数以对数刻度均匀分布。
  • numpy.random.rand() 返回一个由[0,1)内的随机数组成的数组。

3.数组的属性

  • numpy.ndarray.ndim用于返回数组的维数(轴的个数)也称为秩,一维数组的秩为 1,二维数组的秩为 2,以此类推。
  • numpy.ndarray.shape表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。
  • numpy.ndarray.size数组中所有元素的总量,相当于数组的shape中所有元素的乘积,例如矩阵的元素总量为行与列的乘积。
  • numpy.ndarray.dtype ndarray 对象的元素类型。
  • numpy.ndarray.itemsize以字节的形式返回数组中每一个元素的大小。
#一维
>>> a = np.array([1, 2, 3, 4, 5])
>>> print(a.shape)  # (5,)
(5,)
>>> print(a.dtype)  # int32
int32
>>> print(a.size)  # 5
5
>>> print(a.ndim)  # 1
1
>>> print(a.itemsize)  # 4


#二维
>>> b = np.array([[1, 2, 3], [4, 5, 6.0]])
>>> print(b.shape)  # (2, 3)
(2, 3)
>>> print(b.dtype)  # float64
float64
>>> print(b.size)  # 6
6
>>> print(b.ndim)  # 2
2
>>> print(b.itemsize)  # 8
8

参考:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值