import numpy as np
from joblib import Parallel, delayed
import multiprocessing

#----------------------------------------

def processData(d):
    return np.sin(d)*np.cos(d)
 
ncores = multiprocessing.cpu_count()
     
data = np.linspace(0,5,20)

results = Parallel(n_jobs=ncores)(
        delayed(processData)(d)
        for d in data
)

data_results = np.column_stack((data, results))

print(data_results)

