Разделение панд df через потоки - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь читать с очень большого информационного кадра, используя несколько потоков.Поскольку каждый поток создает свою собственную копию df, у меня возникает проблема с памятью.Поэтому я хочу разделить df между потоками только для чтения.Я провел поиск по всему, и кажется, что передача пространства имен - это то, что должно быть сделано, но использование следующего не решает проблему.

df = pd.DataFrame(np.random.uniform(0,10,16))
chunks = [h for h in range(df.shape[0])]

mgr = Manager()
ns = mgr.Namespace()
ns.data = df

pool = Pool(8)                         
func = partial(test_function, ns)
pool.map(func, chunks)
pool.close()
pool.join()

Внутри функции я использую ns.data для доступа к df.Что-то не так с этим подходом?Есть ли что-нибудь еще, что я могу использовать?Я также хочу передать различные типы объектов, если это возможно.

Приведенный выше код является лишь примером моего приложения.

...