Попробуйте,
import pandas as pd
import numpy as np
Я создал мини-текстовый файл с некоторыми сумасшедшими значениями, чтобы вы могли увидеть, как работает интерполяция.
Файл выглядит следующим образом,
0,1
0.0,.002
0.001,.3
NaN,NaN
4.003,NaN
.004,19
.005,234
NaN,444
1,777
Вот как можно импортировать и обрабатывать ваши данные,
df=pd.read_csv('datafile.txt, header=0)
for column in df:
df[column].interpolate(method="polynomial",order=2,inplace=True)
print(df.head())
, теперь фрейм данных выглядит следующим образом:
0 1
0 0.000000 0.002000
1 0.001000 0.300000
2 2.943616 -30.768123
3 4.003000 -70.313176
4 0.004000 19.000000
5 0.005000 234.000000
6 0.616931 444.000000
7 1.000000 777.000000
Кроме того, если вы хотите выполнить интерполяцию между точки в вашем кадре данных, это что-то другое.
Нечто подобное было бы,
df1 = df.reindex(df.index.union(np.linspace(.11,.25,8)))
df1.interpolate('index')
результаты этого выглядят,
0 1
0.00 0.00000 0.00200
0.11 0.00011 0.03478
0.13 0.00013 0.04074
0.15 0.00015 0.04670
0.17 0.00017 0.05266
0.19 0.00019 0.05862
0.21 0.00021 0.06458
0.23 0.00023 0.07054
0.25 0.00025 0.07650
1.00 0.00100 0.30000