Pandas : TypeError: float() argument muss eine Zeichenkette oder eine Zahl
Ich habe einen dataframe enthält
user_id date browser conversion test sex age country
1 2015-12-03 IE 1 0 M 32.0 US
Dies ist mein gesamter code so weit!!!
data["country"].fillna("missing")
data["age"].fillna(-10000, inplace=True)
data["ads_channel"].fillna("missing")
data["sex"].fillna("missing")
data['date'] = pd.to_datetime(data.date)
columns = data.columns.tolist()
columns = [c for c in columns if c not in ["test"]]
from sklearn import tree
clf = tree.DecisionTreeClassifier(max_depth=2, min_samples_leaf = (len(data)/100) )
clf = clf.fit(data[columns],data["test"])
Bin ich immer diese Fehlermeldung:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-560-95a8a54aa939> in <module>()
4 from sklearn import tree
5 clf = tree.DecisionTreeClassifier(max_depth=2, min_samples_leaf = (len(data)/100) )
----> 6 clf = clf.fit(data[columns],data["test"])
C:\Users\SnehaPriya\Anaconda2\lib\site-packages\sklearn\tree\tree.pyc in fit(self, X, y, sample_weight, check_input, X_idx_sorted)
152 random_state = check_random_state(self.random_state)
153 if check_input:
--> 154 X = check_array(X, dtype=DTYPE, accept_sparse="csc")
155 if issparse(X):
156 X.sort_indices()
C:\Users\SnehaPriya\Anaconda2\lib\site-packages\sklearn\utils\validation.pyc in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
371 force_all_finite)
372 else:
--> 373 array = np.array(array, dtype=dtype, order=order, copy=copy)
374
375 if ensure_2d:
TypeError: float() argument must be a string or a number
Ich bin immer noch lernen, um code, und ich würde gerne wissen, wie zur überwindung dieser Fehler.
Jede Hilfe wird sehr geschätzt!
Es scheint, dass Sie vergessen
So verwenden
Eine weitere mögliche Lösung ist
Ist dieser Fehler im Zusammenhang pandas oder sciky-lernen? Ich sehe die Fehler-trace ist auf seine Bibliothek nicht auf pandas.
inplace=True
im data["country"].fillna("missing")
data["ads_channel"].fillna("missing")
und data["sex"].fillna("missing")
So verwenden
data["country"].fillna("missing", inplace=True) data["ads_channel"].fillna("missing", inplace=True) data["sex"].fillna("missing", inplace=True)
Eine weitere mögliche Lösung ist
data[["country", "ads_channel", "sex"]] = data[["country", "ads_channel", "sex"]].fillna("missing")
Ist dieser Fehler im Zusammenhang pandas oder sciky-lernen? Ich sehe die Fehler-trace ist auf seine Bibliothek nicht auf pandas.
InformationsquelleAutor Gingerbread | 2016-12-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
IIUC müssen Sie die Spalte ausschließen
date
auch:da Fehler:
was sollte getan werden, wenn das Datum/die Zeit ist Teil des feature-Daten?
Hat jemand eine Antwort auf diese noch?
Prüfen Sie das Antwort
Ja, es ist eine mögliche Lösung
InformationsquelleAutor jezrael