私はkaggle titanicの災害問題を解決しようとしています。ここに私のデータのピークは、私が「着手」の列と型「オブジェクト」のモードを取得しようとしていますPython 3. +、Scipy Stats Mode関数は、型エラーの順序付け不可能な型を返します。str()> float()
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()
はい! NANの値がありますが、私が作業しているチュートリアルでは、何も追加作業をせずに同じ結果が得られます! しかし、私がdropna()で実行すると同じことができます – aks
@AnkitSinghaniya 'scipy.stats.mode()'は、少なくともscipyがインストールされているバージョンの混合型の配列のモードを計算することはできません私のコンピュータで。 pandas版の 'mode()'はそれを行うことができますが、私の編集を参照してください。 – Goyo
あなたは混合値について指摘しています。私はNAN値が問題だと思う。 – aks