-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'의 배열입니다. 왜'some_function (row)'을 반환하지 않습니까? –