Мне нужно обновить столбец данных pandas на основе обработки списка выбранных значений (df0['parcels'].values
в приведенном ниже коде).Код работает хорошо, но он длинный, потому что список выбранных значений довольно длинный с 45000 значений.Для выполнения этого кода требуется 5 часов.
Поскольку обработка каждого выбранного значения является независимой.Я хотел бы попытаться распараллелить это для улучшения скорости.
import numpy as np
import pandas as pd
from scipy.ndimage import distance_transform_edt as edt
for i in df0['parcels'].values:
y, x = np.where(parcels == i)
tmp = parcels[np.min(y) - 5:np.max(y) + 6, np.min(x) - 5:np.max(x) + 6]
dst = edt(tmp, sampling=r_parcels)
par = tmp[dst <= 20]
par = par[par != -9999]
mod, cnt = ss.mode(par)
df['parcels'] = df['parcels'].replace(i, mod[0])