我在大约600万行上运行以下代码。太慢了,而且没完没了。
df['City'] = df['POSTAL_CODE'].apply(lambda x: nomi.query_postal_code(x).county_name)
它为每个邮政编码分配了一个相应的城市。当我在一片日期集上运行它时(例如,1000行),它运行得很好。但是在整个数据上运行这段代码从来没有给我任何输出。
谁能修改一下代码,让它更快?
谢谢你!我在下面的代码上运行,大约有1000条记录。
!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)