Я работаю с 8 различными CSV-файлами. На первом этапе я очистил каждый файл следующим образом:
1) файл наблюдений
obs = pd.read_csv('....csv',sep = ";")
obs = asport_obs.drop(['date', 'humidity', 'precipitation', 'station'],axis=1).dropna()
obs['time'] = obs['time'].astype('datetime64[ns]')
obs['time'] = asport_obs['time'].apply(lambda x: x.strftime('%d-%m-%Y %H'))
asport.columns = ['temperature_obs','time']
2) файлы предвидений
prev = pd.read_csv('....csv',sep = ";")
prev = prev.drop(['cloud_cover', 'date', 'humidity', 'latitude_r', 'longitude_r', 'pressure', 'wind', 'wind_dir'],axis=1).dropna()
prev['time'] = prev['time'].astype('datetime64[ns]')
prev['time'] = prev['time'].apply(lambda x: x.strftime('%d-%m-%Y %H'))
prev.columns = ['temperature_prev','time']
prev2 = pd.read_csv('....csv',sep = ";")
prev2 = prev2.drop(['cloud_cover', 'date', 'humidity', 'latitude_r', 'longitude_r', 'pressure', 'wind', 'wind_dir'],axis=1).dropna()
prev2['time'] = prev2['time'].astype('datetime64[ns]')
prev2['time'] = prev2['time'].apply(lambda x: x.strftime('%d-%m-%d-%Y %H'))
prev2.columns = ['temperature_prev2','time']
...
то же самое для 5 других файлов.
Во второй раз я слил все эти файлы по ключу «время» в этом формате «день-месяц-год-час» слева (файл obs) следующим образом:
prevs = pd.merge(obs,prev[['time', 'temperature_apiagro']], how='left',on='time')
prevs = pd.merge(prevs,prevs2[['time', 'temperature_darksky']], how='left',on='time')
...
и так далее
Окончательный размер объединенного файла составляет приблизительно 42 миллиона строк.
Процесс получения объединенного файла очень долгий, и теперь каждый раз, когда я пытаюсь его запустить, алгоритм / python ломается.
Я хотел бы знать, есть ли решение для оптимизации моего кода, чтобы ускорить его запуск и работать без перерыва