非常简单的问题:我有一个结构化数组,包含多个列,我想用另一个预先存在的数组填充其中的某些列(但不止一列)。
这是我尝试的方式:
这给了我一个未来的警告:
这是我尝试的方式:
strc = np.zeros(4, dtype=[('x', int), ('y', int), ('z', int)])
x = np.array([2, 3])
strc[['x', 'y']][0] = x
这给了我一个未来的警告:
但即使这是一个警告,结构化数组也不会填充。到目前为止,我正在迭代两个数组,并且它可以工作,但我猜这是高度低效的。是否有更好的方法?main:1: 未来警告:Numpy 检测到您(可能)正在写入由 numpy.diagonal 或通过选择记录数组中的多个字段返回的数组。这段代码可能会在未来的 numpy 发布版本中出现问题 - 有关详细信息,请参阅 numpy.diagonal 或 arrays.indexing 参考文档。快速解决方法是进行显式复制(例如,执行 arr.diagonal().copy() 或 arr[['f0','f1']].copy())。