如何将列表和元组转换成NumPy数组
在这篇文章中,让我们讨论如何使用NumPy将列表和元组转换成数组。NumPy提供了各种方法来做同样的事情。让我们来讨论这些方法
方法1:使用numpy.asarray()。
它将输入转化为一个数组。输入可以是图元的列表、图元、图元的图元、列表的图元和ndarray。
语法:
numpy.asarray( a, type = None, order = None )
示例:
import numpy as np
# list
list1 = [3, 4, 5, 6]
print(type(list1))
print(list1)
print()
# conversion
array1 = np.asarray(list1)
print(type(array1))
print(array1)
print()
# tuple
tuple1 = ([8, 4, 6], [1, 2, 3])
print(type(tuple1))
print(tuple1)
print()
# conversion
array2 = np.asarray(tuple1)
print(type(array2))
print(array2)
输出:
<class 'list'>
[3, 4, 5, 6]
<class 'numpy.ndarray'>
[3 4 5 6]
<class 'tuple'>
([8, 4, 6], [1, 2, 3])
<class 'numpy.ndarray'>
[[8 4 6]
[1 2 3]]
方法2:使用numpy.array()。
它创建了一个数组。
语法: numpy.array( object, dtype = None, *, copy = True, order = ‘K’, subok = False, ndmin = 0 )
参数:
1.对象:类似数组
2. dtype: 数据类型,可选(数组的理想数据类型。如果没有给出,那么该类型将被确定为容纳序列中的对象所需的最小类型。)
3. copy: bool, optional ( 如果是 true (默认),那么对象将被复制。否则,只有当 array 返回一个拷贝,如果 obj 是一个嵌套的序列,或者需要一个拷贝来满足任何其他的要求 (dtype, order, 等等),才会进行拷贝。)
4. order: {‘K’, ‘A’, ‘C’, ‘F’}, 可选( 与上述相同 )
5. subok: bool, optional ( 如果是True,那么子类将被通过,否则返回的数组将被强制为基类数组(默认)。)
6. ndmin: int, optional ( 指定生成的数组应该具有的最小尺寸数。为满足这一要求,将根据需要预先将尺寸添加到形状中。)
返回: ndarray ( An array object satisfying the specified requirements. )
示例:
import numpy as np
# list
list1 = [1, 2, 3]
print(type(list1))
print(list1)
print()
# conversion
array1 = np.array(list1)
print(type(array1))
print(array1)
print()
# tuple
tuple1 = ((1, 2, 3))
print(type(tuple1))
print(tuple1)
print()
# conversion
array2 = np.array(tuple1)
print(type(array2))
print(array2)
print()
# list, array and tuple
array3 = np.array([tuple1, list1, array2])
print(type(array3))
print(array3)
输出:
<class 'list'>
[1, 2, 3]
<class 'numpy.ndarray'>
[1 2 3]
<class 'tuple'>
(1, 2, 3)
<class 'numpy.ndarray'>
[1 2 3]
<class 'numpy.ndarray'>
[[1 2 3]
[1 2 3]
[1 2 3]]