pandas

    멀티프로세싱/멀티스레딩 df 중복 관련 정리

    멀티프로세싱/멀티스레딩 df 중복 관련 정리

    이 말같지도 않은 코드를 기록하는 이유는 멍청한 실수를 방지하기 위함이다. 멀티~라는 것을 쓸 때에는 같은 자원을 참조하게끔 하면 예상치못한 결과가 발생하기 때문에 각자 자원을 쓸 수 있도록 장치가 필요하다. 멀티프로세싱으로 하면 df에 중복이 없고 멀티스레딩이나 그냥 for문으로 작동하면 중복이 생겼다. 중복제거를 하지않아도 중복이 없는 탓에 몇 시간 머리를 싸맸으나 테스트를 통해 이해를 하게되었다. 전역변수로 df 항목을 선언하였던게 문제였다. 멀티프로세싱으로 작업을 하게되면 같은 df를 쓰는게 아니라 프로세스 하나 마다 df를 새롭게 만들어서 사용하게 되는 것 같다. 따라서 이 df들을 concat해보면 중복이 없게된다. 아래는 테스트 코드이다. import pandas as pd from mult..