分隔数组中的每个项目

我有两个数组的列表,这是循环的结果,我正在尝试执行以下操作:


由此:


import numpy as np

data=[np.array(['one','two','three']),np.array(['four','five','six'])]

data

这使


[array(['one', 'two', 'three'], dtype='<U5'),

 array(['four', 'five', 'six'], dtype='<U4')]

达到这个预期结果:


[array([['one'],

        ['two'],

        ['three']], dtype='<U5'),

 array([['four'],

        ['five'],

        ['six']], dtype='<U4')]

我尝试过 np.split 但没有达到预期效果。


慕哥6287543
浏览 136回答 3
3回答

侃侃尔雅

我认为您需要的是列表np.expand_dims中的每个元素,data如下所示:import numpy as npdata=[np.array(['one','two','three']),np.array(['four','five','six'])]data = [np.expand_dims(ele, axis=1) for ele in data]

慕森王

如:array(['one', 'two', 'three'])很简单:array(['one',       'two',       'three'])请注意,向量并没有真正改变,它仍然具有相同的形状(3,)。为了获得所需的结果,您需要在转置之前引入另一个维度,例如array([['one', 'two', 'three']]):形状为 的数组的转置(1, 3)将具有形状(3, 1),这正是您想要的。剩下的就是将其应用于数据矩阵中的每个条目:[np.array([a]).T for a in data]

翻翻过去那场雪

尝试[np.array_split(a,len(a))&nbsp;for&nbsp;a&nbsp;in&nbsp;data]Numpy 有一个默认函数,用于array_split()将列表拆分为您想要的列表数量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python