Python Numpy recarray.conjugate()函数
在numpy中,数组可以有一个包含字段的数据类型,类似于电子表格中的列。一个例子是[(a, int), (b, float)] ,其中数组中的每个条目是一对(int, float)。通常情况下,这些属性使用字典查询,如arr[‘a’] 和 arr[‘b’] 。记录数组允许字段作为数组的成员被访问,使用arr.a和arr.b。
numpy.recarray.conjugate()函数通过对数组中的复数进行共轭,返回一个数组。
语法: numpy.recarray.conjugate(out=None)
参数:
out : [ndarray, optional] 一个储存结果的位置。
-> 如果提供,它必须有一个输入广播到的形状。
-> 如果没有提供或没有,将返回一个新分配的数组。
返回:输出数组,其尺寸与输入数组相同,与结果放在一起。
代码#1:
# Python program explaining
# numpy.recarray.conjugate() method
# importing numpy as geek
import numpy as geek
# creating input array
in_arr = geek.array([[(4.0 + 1j, 1 + 3j), (5.0, 5-1j),
(8.0-6j, 9)], [(9.0, 1),
(7.0 + 1j, 3-1j), (-2.0 + 6j, -7 + 3j)]],
dtype =[('a', complex), ('b', complex)])
print ("Input array : ", in_arr)
# convert it to a record array, using arr.view(np.recarray)
rec_arr = in_arr.view(geek.recarray)
# 1st record array
print("1st Record array of complex : ", rec_arr.a)
# applying recarray.conjugate methods to 1st record array
out_arr = (rec_arr.a).conjugate()
print ("Output 1st conjugated array : ", out_arr)
# 2nd record array
rec_arr = rec_arr.b
print("2nd Record array of complex : ", rec_arr)
# applying recarray.conjugate methods to 2nd record array
out_arr = rec_arr.conjugate()
print ("Output 2nd conjugated array : ", out_arr)
输出:
Input array : [[( 4.+1.j, 1.+3.j) ( 5.+0.j, 5.-1.j) ( 8.-6.j, 9.+0.j)]
[( 9.+0.j, 1.+0.j) ( 7.+1.j, 3.-1.j) (-2.+6.j, -7.+3.j)]]
1st Record array of complex : [[ 4.+1.j 5.+0.j 8.-6.j]
[ 9.+0.j 7.+1.j -2.+6.j]]
Output 1st conjugated array : [[ 4.-1.j 5.-0.j 8.+6.j]
[ 9.-0.j 7.-1.j -2.-6.j]]
2nd Record array of complex : [[ 1.+3.j 5.-1.j 9.+0.j]
[ 1.+0.j 3.-1.j -7.+3.j]]
Output 2nd conjugated array : [[ 1.-3.j 5.+1.j 9.-0.j]
[ 1.-0.j 3.+1.j -7.-3.j]]