0

特にモード/平均値/中央値を使用して欠損値を入力して、kaggleのタイタニック災害の問題を解決しようとしています。これが私のデータセットのピークです

   Parch            Ticket     Fare Cabin Embarked  
0      0         A/5 21171   7.2500   NaN        S  
1      0          PC 17599  71.2833   C85        C  
2      0  STON/O2. 3101282   7.9250   NaN        S  
3      0            113803  53.1000  C123        S  
4      0            373450   8.0500   NaN        S  

「乗船」列のモードを取得し、「オブジェクト」と入力しようとしています。私はpython3を使用しています。コード スニペットは次のとおりです。

modeEmbarked = mode(df.Embarked)

エラースニペットは次のとおりです。

<ipython-input-39-1b4237d65022> in clean(df)
     18 
     19     # Cleaning Embarked column
---> 20     modeEmbarked = mode(df.Embarked)
     21 #     print(mode(df.Embarked))
     22 #     le_embarked = preprocessing.LabelEncoder()

/home/singhaniya/anaconda3/lib/python3.5/site-packages/scipy/stats/stats.py in mode(a, axis)
    635     return np.array([]), np.array([])
    636 
--> 637     scores = np.unique(np.ravel(a))       # get ALL unique values
    638     testshape = list(a.shape)
    639     testshape[axis] = 1

/home/singhaniya/anaconda3/lib/python3.5/site-packages/numpy/lib/arraysetops.py in unique(ar, return_index, return_inverse, return_counts)
    196         aux = ar[perm]
    197     else:
--> 198         ar.sort()
    199         aux = ar
    200     flag = np.concatenate(([True], aux[1:] != aux[:-1]))

TypeError: unorderable types: str() > float()
4

2 に答える 2

2
modeEmbarked = mode(df.Embarked.dropna())

これを代わりに使用する

modeEmbarked = mode(df.Embarked)

問題を解決します。

于 2016-03-29T13:42:48.397 に答える