Python interpola desde un archivo csv
Estoy tratando de interpolar datos de un archivo csv. Las 2 primeras columnas son del mismo tamaño. Tuve éxito con los mismos datos en archivos txt antes, este es mi primer intento con un archivo csv. Cualquier ayuda sería apreciada. Ejemplo de archivo csv
wave,transmittance
406.06,0.384
420.06,0.398
440.85,0.416
....,.....
import numpy as np
import csv
from scipy import interpolate
# column 0 wavelength
# column 1 transmittance
# .....
with open('CCD.csv','r') as csv_file:
next(csv_file)
data = list(csv.reader(csv_file))
x=[column[0] for column in data]
y=[column[1] for column in data]
I = interpolate.InterpolatedUnivariateSpline(x, y)
print(x)
Output:
UFuncTypeError
<ipython-input-9-fa767336938e> in <module>
12 y=[column[1] for column in data]
13
---> 14 I = interpolate.InterpolatedUnivariateSpline(x, y)
UFuncTypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U11'), dtype('<U11')) -> dtype('<U11')
EDITADO:
with open('CCD.csv','r') as csv_file:
reader = csv.reader(csv_file)
next(csv_file) # discard header
data = list(reader)
x1=[column[0] for column in data]
y1=[column[1] for column in data]
I2 = interpolate.InterpolatedUnivariateSpline(x1, y1)
z2 = I2(550)
print(z2)
UFuncTypeError Traceback (most recent call last)
<ipython-input-4-a8127aad6fce> in <module>
6 y1=[column[1] for column in data]
7
----> 8 I2 = interpolate.InterpolatedUnivariateSpline(x1, y1)
9 z2 = I2(550)
10 print(z2)
UFuncTypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U11'), dtype('<U11')) -> dtype('<U11')
Mostrar la mejor respuesta