Pystata: параллельный запуск экземпляров статистики из PythonPython

Программы на Python
Anonymous
Pystata: параллельный запуск экземпляров статистики из Python

Сообщение Anonymous »

Я использую пакет pystata, который позволяет мне запускать код Stata из Python и отправлять данные из Python в Stata и обратно.
Я понимаю, что существует — это одиночный экземпляр статистики, работающий в фоновом режиме. Что я хочу сделать, так это загрузить некоторый код, который обертывает код статы, и я хотел бы запустить его параллельно.
по сути, я хотел бы иметь что-то вроде

Код: Выделить всё

from joblib import Parallel, delayed
import pandas as pd

def single_instance(seed):
% initialize stata

from pystata import config, stata
config.init('be')
% run some stata code (load a data set and collapse, for example)
stata.run('some code')
% load stata data to python
df = stata.pdataframe_from_data()
out = do_something_with_data(df, seed)
return out

if __name__ == '__main__':

seeds = np.arange(1, 100)
Parallel(backend='loky', n_jobs=-1)(
delayed(single_instance)(seeds[i]) for i in values)
если бы какой-то код выполнялся параллельно, и каждый поток параллельно инициализировал свой собственный экземпляр статистики. Однако меня беспокоит, что все эти распараллеленные потоки обращаются к одному и тому же экземпляру статистики — может ли это работать так, как я ожидаю? Как мне это настроить?

Подробнее здесь: https://stackoverflow.com/questions/783 ... rom-python

Вернуться в «Python»