Я новичок в Python. Я пытаюсь интерполировать значения данных из набора данных, который выглядит следующим образом: a = [45.0,0.0017317314, -0.00274, ...] [45.07,0.00173326, -0.002278, ...] . . .Интерполировать данные с несколькими столбцами
Я хочу найти значения данных от второго до последнего столбца при определенных значениях данных в первом столбце.
Я попытался следующий код:
interp_data = np.interp(45.01,a[:,0],a[:,1])
в качестве начальной попытки найти значение одной точки данных для одного столбца. Тем не менее, он возвращает ошибку «объект слишком глубоко для требуемого массива»
Однако следующие работы в оболочке
>>> xp = [45.0, 45.074969417037, 45.224757625296, 45.523726383073]
>>> fp = [1.73145123922036E-002, 1.73326024230735E-002, 1.73689532454203E-002, 1.74423417607930E-002]
>>> import numpy
>>> numpy.interp(45.1, xp, fp)
0.017338676881704793
Кроме того, я хотел бы сделать это для нескольких значений, как:
for i in range(len(a)):
for j in range(a.shape[1]):
interp_data = np.interp(values,a[:,j],a[:,j])
где значения - это массив точек данных, в которые я хочу интерполировать.
Да, я думаю, что это форма, как мой массив из выглядит следующим образом: [[0,01731451] [0,0173326] [0,01736895]] вместо [0,01731454, 0,0173326 ...] Я думаю, мне нужно распаковать элементов из массива. Есть идеи? – Afzal