At the first part everything is ok. I got a print: "1.5588"
from scipy import interpolate
x = [0., -1.7388, -1.7064, -1.6776, -1.6452, -1.6452, -1.6128, -1.584, -1.5516, -1.5192, -1.5192, -1.4868, -1.458, -1.4256, -1.3968, -1.3968, -1.3644, -1.332, -1.2996, -1.2708, -1.2708, -1.2384, -1.206, -1.1772, -1.1448, -1.1448, -1.1124, -1.0836, -1.0512, -1.0188, -1.0188, -0.9864, -0.954, -0.9252, -0.8928, -0.8928, -0.8604, -0.8316, -0.7956, -0.7956, -0.7704, -0.738, -0.7056, -0.6732, -0.6732, -0.6444, -0.612, -0.5832, -0.5508, -0.5184, -0.5184, -0.486, -0.4572, -0.4248, -0.396, -0.396, -0.36, -0.3312, -0.2988, -0.27, -0.27, -0.2376, -0.2052, -0.1728, -0.144, -0.144, -0.1116, -0.0792, -0.0468, -0.018, -0.018, 0.0108, 0.0396, 0.072, 0.1044, 0.1044, 0.1368, 0.1656, 0.198, 0.2268, 0.2268, 0.2592, 0.2916, 0.324, 0.3528, 0.3528, 0.3852, 0.4176, 0.4464, 0.4788, 0.4788, 0.5076, 0.54, 0.5724, 0.6048, 0.6048, 0.6372, 0.666, 0.6984, 0.7272, 0.7272, 0.7632, 0.792, 0.8208, 0.8532, 0.8532, 0.8856, 0.9144, 0.9504, 0.9792, 0.9792, 1.0116, 1.0404, 1.0728, 1.1052, 1.1052, 1.134, 1.1664, 1.1988, 1.2312, 1.2312, 1.26, 1.2924, 1.3248, 1.3536, 1.3536, 1.386, 1.4184, 1.4472, 1.4796, 1.4796, 1.512, 1.5408, 1.5768, 1.6056, 1.638, 1.638, 1.6668, 1.6992, 1.7316, 1.7316, 1.7604, 1.7928, 1.7676, 1.7676]
y = [0., 54., 55., 70., 69., 71., 68., 68., 73., 65., 71., 78., 78., 79., 80., 81., 84., 78., 79., 82., 89., 92., 95., 101., 99., 101., 106., 102., 97., 110., 115., 105., 109., 102., 98., 104., 108., 106., 112., 104., 111., 119., 123., 129., 135., 135., 144., 141., 146., 143., 151., 149., 159., 166., 168., 169., 171., 176., 181., 177., 176., 185., 182., 187., 185., 186., 186., 177., 174., 172., 181., 183., 183., 183., 185., 175., 180., 189., 185., 183., 185., 188., 192., 185., 186., 195., 194., 196., 201., 205., 205., 207., 201., 201., 204., 208., 193., 199., 187., 179., 172., 176., 172., 172., 160., 148., 147., 139., 144., 154., 145., 146., 156., 148., 151., 153., 147., 148., 136., 134., 122., 117., 119., 121., 119., 118., 120., 114., 117., 113., 109., 102., 101., 100., 106., 102., 96., 101., 96., 96., 94., 92., 86., 87., 90.]
yh = np.max(y)/2
n = len(x)
interpfunc = interpolate.interp1d(y[n/2:],x[n/2:], kind = 'linear')
x2 = interpfunc(yh)
print x2
But when using the following data I got the message "ValueError: A value in x_new is below the interpolation range." :
x = [0., -1.746, -1.7172, -1.6848, -1.6848, -1.6596, -1.6272, -1.602, -1.5696, -1.5696, -1.5408, -1.512, -1.4832, -1.4544, -1.4544, -1.4256, -1.3968, -1.368, -1.3356, -1.3356, -1.3104, -1.278, -1.2528, -1.2204, -1.1952, -1.1952, -1.1628, -1.134, -1.1052, -1.0764, -1.0764, -1.0476, -1.0188, -0.99, -0.9612, -0.9612, -0.9324, -0.9036, -0.8712, -0.846, -0.846, -0.8136, -0.7884, -0.756, -0.7272, -0.7272, -0.6984, -0.6696, -0.6408, -0.612, -0.612, -0.5832, -0.5544, -0.5256, -0.4968, -0.4968, -0.468, -0.4392, -0.4068, -0.3816, -0.3816, -0.3492, -0.3204, -0.2916, -0.2628, -0.2628, -0.234, -0.2052, -0.1764, -0.1476, -0.1476, -0.1188, -0.09, -0.0612, -0.0324, -0.0324, -0.0036, 0.0216, 0.054, 0.0792, 0.0792, 0.1116, 0.1404, 0.1692, 0.198, 0.198, 0.2268, 0.2556, 0.2844, 0.3132, 0.3132, 0.342, 0.3708, 0.4032, 0.4284, 0.4284, 0.4608, 0.486, 0.5184, 0.5472, 0.5472, 0.576, 0.6048, 0.6336, 0.6624, 0.6624, 0.6912, 0.72, 0.7488, 0.7776, 0.7776, 0.81, 0.8352, 0.8676, 0.8928, 0.8928, 0.9252, 0.954, 0.9828, 1.0116, 1.0116, 1.0404, 1.0692, 1.098, 1.1268, 1.1268, 1.1556, 1.1844, 1.2168, 1.242, 1.242, 1.2744, 1.2996, 1.332, 1.3608, 1.3608, 1.3896, 1.4184, 1.4472, 1.476, 1.476, 1.5048, 1.5336, 1.5624, 1.5912, 1.5912, 1.6236, 1.6488, 1.6776, 1.71, 1.71, 1.7388, 1.764, 1.7928, 1.7748, 1.746, ]
y = [0., 91., 96., 104., 103., 97., 113., 110., 101., 97., 99., 108., 117., 109., 104., 115., 110., 117., 108., 123., 126., 125., 133., 119., 116., 124., 123., 131., 136., 121., 118., 125., 140., 148., 142., 131., 130., 134., 132., 128., 128., 144., 130., 116., 119., 119., 129., 131., 122., 126., 123., 133., 134., 148., 139., 133., 141., 140., 134., 134., 127., 140., 135., 133., 132., 132., 136., 136., 139., 137., 130., 126., 136., 135., 135., 134., 140., 131., 133., 135., 142., 131., 141., 125., 144., 145., 141., 147., 155., 157., 149., 154., 161., 150., 161., 165., 157., 158., 145., 152., 157., 151., 150., 144., 144., 142., 143., 137., 142., 152., 134., 146., 147., 147., 139., 135., 141., 145., 135., 119., 124., 124., 126., 128., 128., 128., 124., 126., 131., 126., 134., 128., 128., 122., 122., 124., 122., 114., 122., 124., 128., 115., 127., 111., 121., 115., 109., 109., 107., 93., 94., 96., 84., 87., 107., 97.]
yh = np.max(y)/2
n = len(x)
interpfunc = interpolate.interp1d(y[n/2:],x[n/2:], kind = 'linear')
x2 = interpfunc(yh)
print x2