3
我知道如何執行joblib
中的並行循環,該循環返回一個列表作爲結果。使用索引列表有效填充NumPy數組
但是,是否可以並行填充預定義的numpy
矩陣?
想象一下下面的小例子,矩陣和數據:
column_data = ['a', 'b', 'c', 'd', 'e', 'f', 'x']
data = [['a', 'b', 'c'],
['d', 'c'],
['e', 'f', 'd', 'x']]
x = np.zeros((len(data), len(column_data))
注意column_data
排序和獨特的。 data
是列表的列表,而不是矩形矩陣。
循環:
for row in range(len(data)):
for column in data[row]:
x[row][column_data.index(column)] = 1
有可能parallellise這個循環?填充70,000 x 10,000
矩陣非常緩慢而沒有並行化。
我很抱歉造成這種ambiguation。我改進了我的問題。數據不是方陣,而是列表。 'column_data'是排序和唯一的。 – Tim
@Tim請檢查編輯好的代碼。 – Divakar
我終於明白了你的舊代碼,看到你編輯它只有4行:)。讓我看看我能否弄清楚這是幹什麼的。令人敬畏的技術順便說一句,這是瘋狂的快。 – Tim