【发布时间】:2018-04-13 01:36:21
【问题描述】:
如何在没有 for 循环的情况下执行以下操作?
import numpy as np
l = np.array([[1, 3], 1, np.nan, [3, 53, 13], ['225gg2g']], dtype=object)
loc = [1, 2]
for i in loc:
l[i] = ['wgwg', 23, 'g']
【问题讨论】:
-
this 本质上是你想要的吗?
-
@CoryKramer 这里的复杂之处在于
np.ndarray属于dtype对象,并且可能基于花式索引的赋值l[[1,2]] = some_list不会将some_list视为标量值。当然,这都提出了一个问题,为什么 OP 使用numpy.ndarray开头? -
l[loc] = ['wgwg', 23, 'g'] 不起作用。它返回 array([[1, 3], 'wgwg', 23, [3, 53, 13], ['225gg2g']], dtype=object) 而不是 array([[1, 3], ['wgwg ', 23, 'g'], ['wgwg', 23, 'g'], [3, 53, 13], ['225gg2g']], dtype=object)
-
@gino 为什么你甚至在这里使用
numpy?听起来您想要一个普通的list,但实际上听起来您需要重新考虑您完全组织数据的方式......