我有兩個數組的列表,這是循環的結果,我正在嘗試執行以下操作:由此:import numpy as npdata=[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 但沒有達到預期效果。
3 回答

侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
我認為您需要的是列表np.expand_dims中的每個元素,data如下所示:
import numpy as np
data=[np.array(['one','two','three']),np.array(['four','five','six'])]
data = [np.expand_dims(ele, axis=1) for ele in data]

慕森王
TA貢獻1777條經驗 獲得超3個贊
如:
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]

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
嘗試
[np.array_split(a,len(a)) for a in data]
Numpy 有一個默認函數,用于array_split()
將列表拆分為您想要的列表數量。
添加回答
舉報
0/150
提交
取消