2017-02-14 12 views
0

Мне было интересно, допускает ли Pandas Dataframe интерполяцию для строк. (У меня есть значения, но не для строк).Python Pandas Интерполяция Dataframe со строками

import pandas as pd 
 
import numpy as np 
 

 

 
s = pd.Series(["Blue", "Blue", np.nan, "Blue","Blue","Red"]) 
 
s = s.interpolate() 
 

 
print(s)
Выход: синих, синих, NaN, Синих, Синих, Красного

Желаемой Выход: Синих, Синих, Синих, Синих, Синие , Красный

ответ

0

no, вы не можете интерполировать строки, но можно преобразовать строки в категории и затем интерполировать на них.

arr, cat = s.factorize() 
s2 = pd.Series(arr).replace(-1, np.nan).interpolate()\ 
     .astype('category').cat.rename_categories(cat)\ 
     .astype('str') 
+0

Чувак этого камня спасибо !!! –

Смежные вопросы