跨线程共享熊猫df

时间:2019-02-06 10:52:51

标签: python multithreading pandas namespaces pool

我正在尝试使用多个线程从非常大的数据框中读取数据。由于每个线程都创建自己的df副本,所以我遇到了内存问题。因此,我想在线程之间共享df以便从中读取。我进行了搜索,似乎应该传递名称空间,但是使用followng不能解决问题。

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。这种方法有什么问题吗?还有什么我可以用的吗?我还想尽可能传递不同的对象类型。

上面的代码只是我的应用程序的示例。

0 个答案:

没有答案
相关问题