作为我正在研究的更广泛程序的一部分,我最终得到了带有字符串,3D坐标等混合在一起的对象数组。我知道对象数组与结构化数组相比可能不是很喜欢,但是我希望能够解决此问题而无需更改很多代码。
假设数组obj_array的每一行(具有N行)的格式为
Single entry/object of obj_array: ['NAME',[10.0,20.0,30.0],....]
现在,我正在尝试加载该对象数组并切片3D坐标块。到这里为止,一切都可以通过简单地让我们说出就可以了。
obj_array[:,[1,2,3]]
但是结果也是一个对象数组,当我想用以下方法形成一个浮点数的二维数组时,我将面临问题:
size [N,3] of N rows and 3 entries of X,Y,Z coordinates
现在,我遍历行并将每一行分配给目标2d flot数组的一行,以解决此问题。我想知道numpy的数组转换工具是否还有更好的方法?我尝试了几件事,无法解决。
Centers = np.zeros([N,3])
for row in range(obj_array.shape[0]):
Centers[row,:] = obj_array[row,1]
谢谢
讨厌的小问题…我一直在愚弄这个玩具示例:
>>> arr = np.array([['one', [1, 2, 3]],['two', [4, 5, 6]]], dtype=np.object)
>>> arr
array([['one', [1, 2, 3]],
['two', [4, 5, 6]]], dtype=object)
我的第一个猜测是:
>>> np.array(arr[:, 1])
array([[1, 2, 3], [4, 5, 6]], dtype=object)
但这保留了object
dtype,所以也许这样:
>>> np.array(arr[:, 1], dtype=np.float)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: setting an array element with a sequence.
通常,您可以执行以下操作来解决此问题:
>>> np.array(arr[:, 1], dtype=[('', np.float)]*3).view(np.float).reshape(-1, 3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: expected a readable buffer object
不过不在这里,这有点令人困惑。显然是数组中的对象是列表这一事实,使之成为现实,因为用元组替换列表是可行的:
>>> np.array([tuple(j) for j in arr[:, 1]],
... dtype=[('', np.float)]*3).view(np.float).reshape(-1, 3)
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
由于似乎没有完全令人满意的解决方案,因此最简单的方法可能是:
>>> np.array(list(arr[:, 1]), dtype=np.float)
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
尽管这不是很有效,但最好采用以下方法:
>>> np.fromiter((tuple(j) for j in arr[:, 1]), dtype=[('', np.float)]*3,
... count=len(arr)).view(np.float).reshape(-1, 3)
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
问题内容: 我想将对象数组转换为javascript中具有键值对的对象。 我如何将其转换为诸如 我希望大多数浏览器都支持它。 问题答案: 您可以使用和传播语法来创建具有给定对象数组的单个对象。
问题内容: 我有一个像这样的对象作为服务器的JSON响应返回: 我想将其转换为如下所示的JavaScript数组: 有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用复杂的循环逻辑。那么有替代方法可以做到这一点吗? 问题答案: jQuery实际上非常简单 小提琴 在没有jQuery的情况下几乎一样容易,将键转换为数组,然后使用 小提琴 假设它已经被解析为javascript对象,并且实际
Jolt对我来说是新的,我一直在与这个问题作斗争,直到我创建这篇文章。 我想把这个: 进入这个 每个属性的值可以是1值,也可以是未知数量值的数组。 我将以下json更改为第一个json中的内容: RHS上的属性名称是通用的,属性值的数量也可能不同。提前感谢您抽出时间来帮助我。
问题内容: response->docs); ?> 输出以下内容: 如何将该对象转换为数组?我想输出以下内容: 这可能吗? 问题答案: 您应该查看get_object_vars,因为您的属性被声明为私有,所以您应该在类内部调用此方法并返回其结果。 注意,对于像字符串这样的原始数据类型,它会很好用,但是我不知道它在嵌套对象中的行为。 在您的情况下,您必须执行类似操作;
问题内容: 如何转换 至 在NumPy中? 问题答案: 好吧,如果您以列表的形式读取数据,则可以这样做(或等效地,使用列表理解)。(在Python 3,你需要调用的,如果你使用的返回值,因为现在返回一个迭代器)。 但是,如果已经是一串Numpy的字符串,则有更好的方法。使用。
问题内容: 在Java中,如何将ArrayList转换为二维数组Object [] []? 从评论中:我将用更多细节向您描述问题:XML文件包含联系人列表(例如姓名,地址…)。我可以获得此信息的唯一方法是通过ArrayList,该列表将提供给我。由于需要将该数组列表的内容以有序方式存储在Java Swing表中,因此我正在考虑将其转换为对象的二维数组 问题答案: 知道每个联系人具有的属性数量,我设