从(扁平)数组列表创建记录数组并在 NumPy 中为所有数组设置有效的数据类型
要从(扁平)数组列表创建记录数组,请在 Python NumPy 中使用 **numpy.core.records.fromarrays()** 方法。数据类型使用 **"dtype"** 参数设置。
它返回包含给定 arrayList 列的记录数组。第一个参数是数组类对象(例如列表、元组和 ndarrays)的列表。dtype 是所有数组的有效 dtype。如果 dtype 为 None,则格式、名称、标题、对齐、字节序参数将传递给 numpy.format_parser 以构造 dtype。
步骤
首先,导入所需的库 -
import numpy as np
使用 numpy.array() 方法创建一个新数组 -
arr1 = np.array([[5, 10, 15], [20, 25, 30]]) arr2 = np.array([[9, 18.8, 24], [87.5, 65, 23.8]]) arr3 = np.array([['12', 'bbb', 'john'], ['5.6', '29', 'k']])
显示数组 -
print("Array1...
",arr1) print("Array2...
",arr2) print("Array3...
",arr3)
获取数组的类型 -
print("
Array1 type...
", arr1.dtype) print("
Array2 type...
", arr2.dtype) print("
Array3 type...
", arr3.dtype)
获取数组的维度 -
print("
Array1 Dimensions...
", arr1.ndim) print("
Array2 Dimensions...
", arr2.ndim) print("
Array3 Dimensions...
", arr3.ndim)
要从(扁平)数组列表创建记录数组,请在 Python NumPy 中使用 numpy.core.records.fromarrays() 方法。数据类型使用“dtype”参数设置 -
rec = np.core.records.fromarrays([arr1,arr2,arr3], dtype=np.dtype([('a', np.int32), ('b', np.float32), ('c','S3' )])) print("
Record Array...
",rec)
示例
import numpy as np # Create a new array using the numpy.array() method arr1 = np.array([[5, 10, 15], [20, 25, 30]]) arr2 = np.array([[9, 18.8, 24], [87.5, 65, 23.8]]) arr3 = np.array([['12', 'bbb', 'john'], ['5.6', '29', 'k']]) # Display the arrays print("Array1...
",arr1) print("Array2...
",arr2) print("Array3...
",arr3) # Get the type of the arrays print("
Array1 type...
", arr1.dtype) print("
Array2 type...
", arr2.dtype) print("
Array3 type...
", arr3.dtype) # Get the dimensions of the Arrays print("
Array1 Dimensions...
", arr1.ndim) print("
Array2 Dimensions...
", arr2.ndim) print("
Array3 Dimensions...
", arr3.ndim) # To create a record array from a (flat) list of array, use the numpy.core.records.fromarrays() method in Python Numpy # The datatype is set using the "dtype" parameter rec = np.core.records.fromarrays([arr1,arr2,arr3], dtype=np.dtype([('a', np.int32), ('b', np.float32), ('c','S3' )])) print("
Record Array...
",rec)
输出
Array1... [[ 5 10 15] [20 25 30]] Array2... [[ 9. 18.8 24. ] [87.5 65. 23.8]] Array3... [['12' 'bbb' 'john'] ['5.6' '29' 'k']] Array1 type... int64 Array2 type... float64 Array3 type... <U4 Array1 Dimensions... 2 Array2 Dimensions... 2 Array3 Dimensions... 2 Record Array... [[( 5, 9. , b'12') (10, 18.8, b'bbb') (15, 24. , b'joh')] [(20, 87.5, b'5.6') (25, 65. , b'29') (30, 23.8, b'k')]]
广告