亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

分隔數組中的每個項目

分隔數組中的每個項目

慕哥6287543 2023-08-08 17:52:46
我有兩個數組的列表,這是循環的結果,我正在嘗試執行以下操作:由此: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]


查看完整回答
反對 回復 2023-08-08
?
慕森王

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]


查看完整回答
反對 回復 2023-08-08
?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

嘗試

[np.array_split(a,len(a)) for a in data]

Numpy 有一個默認函數,用于array_split()將列表拆分為您想要的列表數量。


查看完整回答
反對 回復 2023-08-08
  • 3 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號