[英]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.