📅  最后修改于: 2023-12-03 15:34:15.210000             🧑  作者: Mango
numpy.matrix.getfield()
是一个用于从矩阵中获取数据类型的函数。它允许作为参数设置矩阵的字段属性,并返回具有相应数据类型的新矩阵,其中每个元素都是原矩阵元素中的相应字段。
numpy.matrix.getfield(dtype, offset=0)
函数返回一个新的numpy矩阵,其中每个元素都是原矩阵元素的相应字段。
import numpy as np
arr = np.array([[(1, 'One'), (2, 'Two')], [(3, 'Three'), (4, 'Four')]], dtype=[('num', int), ('word', 'S5')])
mat = np.matrix(arr)
new_mat = mat.getfield(dtype=float)
print("New Matrix:")
print(new_mat)
输出结果:
New Matrix:
[[[( 1., nan) ( 2., nan)]
[( 3., nan) ( 4., nan)]]]
在上面的示例中,我们首先创建了一个结构数组,其中每个元素都包含一个整数和一个字符串。我们使用此结构数组创建一个 numpy 矩阵,并然后使用 getfield()
函数从矩阵中获取 float 类型的数据。最后,我们打印新矩阵的值。
import numpy as np
arr = np.array([[(1, 'One'), (2, 'Two')], [(3, 'Three'), (4, 'Four')]], dtype=[('num', int), ('word', 'S5')])
mat = np.matrix(arr)
new_mat = mat.getfield(dtype=[('num', int)])
print("New Matrix:")
print(new_mat)
输出结果:
New Matrix:
[[[(1,) (2,)]
[(3,) (4,)]]]
在上面的示例中,我们再次创建一个结构数组,其中每个元素都包含一个整数和一个字符串。我们使用此结构数组创建一个 numpy 矩阵,并然后使用 getfield()
函数从矩阵中获取整型数据。最后,我们打印新矩阵的值。
import numpy as np
arr = np.array([[(1, 'One'), (2, 'Two')], [(3, 'Three'), (4, 'Four')]], dtype=[('num', int), ('word', 'S5')])
mat = np.matrix(arr)
new_mat = mat.getfield(dtype=[('num', int), ('word', 'S5')], offset=1)
print("New Matrix:")
print(new_mat)
输出结果:
New Matrix:
[[[(b'One',) (b'Two',)]
[(b'Three',) (b'Four',)]]]
在上面的示例中,我们再次创建一个结构数组,其中每个元素都包含一个整数和一个字符串。我们使用此结构数组创建一个 numpy 矩阵,并使用 getfield()
函数提取字符串类型数据。我们还使用 offset
参数从第二个字段开始提取数据。最后,我们打印新矩阵的值。
numpy.matrix.getfield()
函数是一个十分有用的函数,可以用于从一个矩阵中提取指定数据类型的字段,并返回一个包含相应字段的新矩阵。此函数可以接受两个参数:dtype
和 offset
。如果不提供 dtype
参数,则返回的矩阵与源矩阵的数据类型相同。如果不提供 offset
参数,则默认从源矩阵的第一个元素开始提取数据。