📜  Python:Numpy 的结构化数组

📅  最后修改于: 2022-05-13 01:55:41.186000             🧑  作者: Mango

Python:Numpy 的结构化数组

Numpy 的结构化数组与 C 中的 Struct 类似,用于对不同类型和大小的数据进行分组。结构数组使用称为字段的数据容器。每个数据字段可以包含任何类型和大小的数据。数组元素可以在点符号的帮助下访问。
注意:具有命名字段的数组可以包含各种类型和大小的数据。
结构化数组的属性

  • 数组中的所有结构都具有相同数量的字段。
  • 所有结构都具有相同的字段名称。

例如,考虑一个结构化的学生数组,它具有不同的字段,如姓名、年份、分数。

数组 student 中的每条记录都有一个类 Struct 的结构。结构的数组称为结构,因为为数组中的新结构添加任何新字段,包含空数组。
示例 1:

Python3
# 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)


Python3
# 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)


输出:
[('Sana', 2, 21.0) ('Mansi', 7, 29.0)]

示例 2:结构体数组可以使用 numpy.sort() 方法进行排序,并将 order 作为参数传递。此参数采用需要对其进行排序的字段的值。

Python3

# 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)]