要编辑recarray的特定列,您可以使用numpy库中的np.put()
函数。以下是一个示例代码:
import numpy as np
# 创建一个recarray示例
dtype = [('name', 'S10'), ('age', int), ('score', float)]
data = [('Alice', 25, 85.5), ('Bob', 30, 90.2), ('Charlie', 27, 78.8)]
rec_array = np.array(data, dtype=dtype)
# 打印原始recarray
print('原始recarray:')
print(rec_array)
# 编辑特定列
new_scores = [92.1, 88.5, 95.3]
np.put(rec_array['score'], [0, 1, 2], new_scores)
# 打印编辑后的recarray
print('编辑后的recarray:')
print(rec_array)
输出结果:
原始recarray:
[(b'Alice', 25, 85.5) (b'Bob', 30, 90.2) (b'Charlie', 27, 78.8)]
编辑后的recarray:
[(b'Alice', 25, 92.1) (b'Bob', 30, 88.5) (b'Charlie', 27, 95.3)]
以上代码首先创建了一个recarray示例,然后使用np.put()
函数将新的分数列表应用到recarray的特定列上。在np.put()
函数中,第一个参数是要编辑的列,第二个参数是要编辑的索引位置,第三个参数是要插入的新值。编辑后,原始recarray的特定列将被更新为新的值。