-1
多くのデータ行(pandas
DataFrame
)で行う作業がありますが、各計算は独立しているため、並列化したいと思います。numpy配列で同時に書き込む
私は関数を行とオブジェクトを出力する(出力は実際には文字列とセットを含む配列です)。
def compute_row(index, row, output):
output[index] = some_function(row)
次に、私はそれを並行して使用しようとします。
output = np.empty(data_length, dtype=object)
num_cores = multiprocessing.cpu_count()
Parallel(n_jobs=num_cores)(delayed(compute_row)(i, row, outputx) for i, row in db.iterrows())
問題は、私は、たとえば1
でsome_function
を交換する場合でも、私はNone
の配列を取り戻すことです。
インデックスは一意であるため、同時のメモリアクセスの問題は発生しません。私はここで何が欠けていますか?多分別のデータ構造を使うべきでしょうか?
ありがとうございます!
出力は、 'compute_row'メソッドが何かを返すことになっているので、' None'の配列です。なぜあなたは 'return some_function(row)'だけではないのですか? –