Disclaimer: I know very little numpy
But if you don't have access to a lookup table (LUT) that actually defines your non-linear color mappings, then numpy/scipy has functions for interpolating values along a curve. Someone else can probably make this a lot better, but here is something that is linearly interpolating from your samples:
In [151]: import numpy as np
In [152]: rgb_samples = np.array([(0.0, 0.0, 0.0),
(0.044156629592180252, 0.044154495000839233, 0.044151946902275085),
(0.18418028950691223, 0.18418741226196289, 0.18419596552848816),
(0.48274806141853333, 0.48278585076332092, 0.48283094167709351),
(0.99991166591644287, 1.0000128746032715, 1.0001327991485596)])
In [153]: y_sample = np.array([0, 255*.25, 255*.5, 255*.75, 255])
In [154]: np.interp(.33, rgb_samples[:,0], y_sample)
Out[154]: 158.63533146734287
In [155]: np.interp(.33, rgb_samples[:,1], y_sample)
Out[155]: 158.63061312361012
In [156]: np.interp(.33, rgb_samples[:,2], y_sample)
Out[156]: 158.62497845173215
In [157]: float_reds = np.linspace(0., 1., 10)
In [158]: np.interp(float_reds, rgb_samples[:,0], y_sample)
Out[158]:
array([ 0. , 94.23304979, 135.62268918, 159.34706267,
183.07143616, 200.22487316, 213.92137707, 227.61788098,
241.3143849 , 255. ])
It is not going to be as accurate as having the entire LUT, but it will be close.
scipy has a more advanced version called interp1d, which supports different interpolation types, and will return you an interp function you can reuse:
In [163]: import scipy as sp
In [164]: fit_r = sp.interpolate.interp1d(rgb_samples[:,0], y_sample, copy=False)
In [165]: fit_g = sp.interpolate.interp1d(rgb_samples[:,1], y_sample, copy=False)
In [166]: fit_b = sp.interpolate.interp1d(rgb_samples[:,2], y_sample, copy=False)
In [167]: fit_r(.33)
Out[167]: array(158.63533146734287)
In [168]: fit_g(.33)
Out[168]: array(158.63061312361012)
In [169]: fit_b([.33, .45, .785736])
Out[169]: array([ 158.62497845, 184.24153582, 228.5786838 ])
In [170]: fit_b([.33, .45, .785736]).round().astype(int)
Out[170]: array([159, 184, 229])