从(平面)数组列表创建记录数组并使用 Numpy 中的名称获取数组
numpyserver side programmingprogramming
要从(平面)数组列表创建记录数组,请使用 Python Numpy 中的 numpy.core.records.fromarrays() 方法。使用 "names" 参数设置名称。字段名称可以指定为逗号分隔的字符串(格式为 'col1, col2, col3'),也可以指定为字符串列表或元组(格式为 ['col1', 'col2', 'col3'])。可以使用空列表,在这种情况下使用默认字段名称("f0"、"f1"和"…")。
它返回由给定 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, 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() 方法。使用"names"设置名称参数 −
rec = np.core.records.fromarrays([arr1,arr2,arr3], names = 'i,j,k') print("
记录数组...
",rec)
根据名称获取数组 −
print("
获取数组1...
",rec.i) print("
获取数组2...
",rec.j) print("
获取数组3...
",rec.k)
示例
import numpy as np # 使用 numpy.array() 方法创建一个新数组 arr1 = np.array([[5, 10, 15], [20, 25, 30]]) arr2 = np.array([[9, 18, 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() 方法 # 使用"names"设置名称参数 # 字段名称,可以以逗号分隔的字符串形式指定,格式为 'col1, col2, col3',也可以以字符串列表或元组形式指定,格式为 ['col1', 'col2', 'col3']。 # 可以使用空列表,在这种情况下将使用默认字段名称 (‘f0’, ‘f1’, …)。 rec = np.core.records.fromarrays([arr1,arr2,arr3], names = 'i,j,k') print("
记录数组...
",rec) # 根据名称获取数组 print("
获取数组1...
",rec.i) print("
获取数组2...
",rec.j) print("
获取数组3...
",rec.k)
输出
数组1... [[ 5 10 15] [20 25 30]] 数组2... [[ 9. 18. 24. ] [87.5 65. 23.8]] Array3... [['12' 'bbb' 'john'] ['5.6' '29' 'k']] Array1 类型... int64 Array2 类型... float64 Array3 类型... <U4 Array1 维度... 2 Array2 维度... 2 Array3 维度... 2 记录数组... [[( 5, 9. , '12') (10, 18. , 'bbb') (15, 24. , 'john')] [(20, 87.5, '5.6') (25, 65. , '29') (30, 23.8, 'k')]] 获取数组 1... [[ 5 10 15] [20 25 30]] 获取数组 2... [[ 9. 18. 24. ] [87.5 65. 23.8]] 获取数组 3... [['12' 'bbb' 'john'] ['5.6' '29' 'k']]