2017-02-14 7 views
0

Pandas Dataframeで文字列の補間が可能かどうかは疑問でした。 (私は値を持っていますが、文字列ではありません)。Python Pandas文字列によるデータフレームの補間

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

いいえ、文字列を補間することはできませんが、文字列をカテゴリに変換してから補間することは可能です。

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

この岩ありがとう!!! –