繁体   English   中英

在 Python 中更快地申请 function

[英]Making an apply function faster in Python

我在大约 600 万行上运行以下代码。 它是如此缓慢,永远不会结束。

df['City'] = df['POSTAL_CODE'].apply(lambda x: nomi.query_postal_code(x).county_name)

它为每个邮政编码分配一个对应的城市。 当我在一片日期集(例如,1000 行)上运行它时,它运行良好。 但是在整个数据上运行代码从来没有给我任何 output。

任何人都可以修改代码以使其更快吗?

谢谢!

!pip3 install multiprocess

from multiprocess import Pool

def parallelize_dataframe(data, func, n_cores=4):
       data_split = np.array_split(data, n_cores)
       pool = Pool(n_cores)
       data = pd.concat(pool.map(func, data_split))
       pool.close()
       pool.join()
       return data


df['City'] = parallelize_dataframe(df['POSTAL_CODE'], lambda x: nomi.query_postal_code(x).county_name, 4)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM