Python Numpy的结构化数组
Numpy的结构化数组类似于C语言中的Struct,它用于对不同类型和大小的数据进行分组。结构化数组使用称为字段的数据容器。每个数据字段可以包含任何类型和大小的数据。数组元素可以在点符号的帮助下被访问。
注意:数组具有命名的字段,可以包含各种类型和大小的数据。
结构化数组的属性。
- 数组中的所有结构都有相同数量的字段。
- 所有结构都有相同的字段名。
例如,考虑一个结构化的学生数组,它有不同的字段,如姓名、年份、分数。
数组学生中的每条记录都有一个Struct类的结构。结构的数组被称为结构,因为在数组中添加任何新字段的新结构,都包含空数组。
示例 1:
# Python program to demonstrate
# Structured array
import numpy as np
a = np.array([('Sana', 2, 21.0), ('Mansi', 7, 29.0)],
dtype=[('name', (np.str_, 10)), ('age', np.int32), ('weight', np.float64)])
print(a)
输出:
[('Sana', 2, 21.0) ('Mansi', 7, 29.0)]
示例2:结构数组可以通过使用numpy.sort()方法进行排序,并将顺序作为参数传递。这个参数是需要进行排序的字段的值。
# Python program to demonstrate
# Structured array
import numpy as np
a = np.array([('Sana', 2, 21.0), ('Mansi', 7, 29.0)],
dtype=[('name', (np.str_, 10)), ('age', np.int32), ('weight', np.float64)])
# Sorting according to the name
b = np.sort(a, order='name')
print('Sorting according to the name', b)
# Sorting according to the age
b = np.sort(a, order='age')
print('\nSorting according to the age', b)
输出:
Sorting according to the name [('Mansi', 7, 29.0) ('Sana', 2, 21.0)]
Sorting according to the age [('Sana', 2, 21.0) ('Mansi', 7, 29.0)]