NumPy 中 asarray 的用法

本文详细介绍了numpy中的asarray函数,包括其如何将各种输入转换为数组形式,以及如何指定数据类型和存储顺序。通过实例展示了当输入已经是ndarray时的行为,以及与asanyarray函数的区别。

函数说明

asarray(a, dtype=None, order=None)

转换输入为数组 array

输入参数

a:类数组。输入数据,可以是转换为数组的任意形式。比如列表、元组列表、元组、元组元组、列表元组和 ndarray;

dtype:数据类型,可选。默认情况下,该参数与数据数据类型相同。

order:{'C','F'},可选。选择是行优先(C-style)或列优先(Fortran-style)存储。默认为行优先。

返回值

out:ndarray。‘a’ 的数组形式。如果输入已经是匹配 dtype 和 order 参数的 ndarray 形式,则不执行复制,如果输入是 ndarray 的一个子类,则返回一个基类 ndarray。

实例

   将列表转换为数组

>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])

   存在的数组不会被复制

>>> a = np.array([1, 2])
>>> np.asarray(a) is a
True

   如果 “dtype” 参数存在,只有当 dtype 不匹配的时候数组才被匹配。 

>>> a = np.array([1, 2], dtype=np.float32)
>>> np.asarray(a, dtype=np.float32) is a
True
>>> np.asarray(a, dtype=np.float64) is a
False

   与 “asanyarray” 不同,ndarray 子类不被转换

 

>>> issubclass(np.recarray, np.ndarray)
True
>>> a = np.array([(1.0, 2), (3.0, 4)], dtype='f4,i4').view(np.recarray)
>>> np.asarray(a) is a
False
>>> np.asanyarray(a) is a
True
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值