📜  numpy recarray.put()函数| Python(1)

📅  最后修改于: 2023-12-03 14:44:48.486000             🧑  作者: Mango

Numpy recarray.put()函数介绍

Numpy是Python中用于数值计算的核心库之一,其中的recarray是一种结构化数组,类似于数据库中的表格。recarray.put()函数用于将指定的值分别放入recarray中的每个元素中。

语法
numpy.recarray.put(indices, values, mode='raise')
参数
  • indices:一个由整数或整数形式的切片对象组成的可迭代对象,表示要插入的位置。若值为负数,则从数组末尾开始计算。
  • values:一个要插入到数组中的值的序列。若值数量小于插入位置数量,则将序列重复直到其长度与插入位置数量相同。
  • mode:一个字符串,表示当插入位置无效(超出数组范围)时的处理方式。raise表示抛出IndexError异常,wrap表示对数组索引进行模运算从而将其“包装”回数组中。
返回值

该函数没有返回值,会直接将插入的值放入recarray中。

示例
import numpy as np

# 创建一个recarray
data = np.core.records.fromarrays([[1, 2, 3], [4, 5, 6]], names='a,b')

# 向recarray中的所有元素插入值
data.put(range(6), [10, 20, 30, 40, 50, 60])
print(data)

# 向recarray中的指定元素插入值
data.put([2, 5], [100, 200])
print(data)

# 当插入位置超出范围时的处理
try:
    data.put([1, 2, 6], [999, 888, 777], mode='raise')
except IndexError as e:
    print(str(e))
data.put([-1, -2, -7], [999, 888, 777], mode='wrap')
print(data)

输出:

[(10, 20) (30, 40) (50, 60)]
[(10, 20) (30, 100) (50, 60)]
invalid index 6
[(10, 20) (30, 888) (50, 60)]