从(平面)数组列表创建记录数组,并在 Numpy 中为所有数组设置有效数据类型

numpyserver side programmingprogramming

要从(平面)数组列表创建记录数组,请使用 Python Numpy 中的 numpy.core.records.fromarrays() 方法。使用 "dtype" 参数设置数据类型。

它返回由给定 arrayList 列组成的记录数组。第一个参数是数组类对象(如列表、元组和 ndarray)的列表。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 类型...
", arr1.dtype) print("
Array2 类型...
", arr2.dtype) print("
Array3 类型...
", arr3.dtype)

获取数组的维度 −

print("
Array1 维度...
", arr1.ndim) print("
Array2 维度...
", arr2.ndim) print("
Array3 维度...
", 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("
记录数组...
",rec)

示例


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 类型...
", arr1.dtype) print("
Array2 类型...
", arr2.dtype) print("
Array3 类型...
", arr3.dtype) # 获取数组的维度 print("
Array1 维度...
", arr1.ndim) print("
Array2 维度...
", arr2.ndim) print("
Array3 维度...
", 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("
记录数组...
",rec)

输出

数组1...
[[ 5 10 15]
[20 25 30]]
数组2...
[[ 9. 18.8 24. ]
[87.5 65. 23.8]]
数组3...
[["12" 'bbb' 'john']
['5.6' '29' 'k']]

Array1 类型...
int64

Array2 类型...
float64

Array3 类型...
<U4

Array1 维度...
2

Array2 维度...
2

Array3 维度...
2

记录数组...
[[( 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')]]


相关文章