TypeError: unhashable type
J'ai écrit un petit morceau de code pour faire une régression linéaire à l'aide de sklearn.
J'ai créé un 2 colonne du fichier csv (les noms de colonnes X,Y avec des chiffres) et
quand j'ai lu le fichier, je vois que le contenu est correctement lu - comme indiqué ci-dessous.
Cependant, je suis "unhashable type" erreur quand j'essaie de référence à une colonne à l'aide des commandes datafile[:,:]
ou datafile[:,-1]
etc..
Et quand j'essaie d'utiliser X comme réponse, Y comme prédicteur dans sklearn de la régression linéaire, j'obtiens la Valeur de l'erreur comme indiqué ci-dessous.
J'ai regardé en ligne, mais pas en mesure de comprendre quel est le problème avec mon code ou d'un fichier. S'il vous plaît aider.
import pandas as pd
datafile=pd.read_csv('samplelinear.csv')
datafile
X Y
0 0 1.440000
1 1 33.220000
. . .
print datafile.__class__
<class 'pandas.core.frame.DataFrame'>
datafile[:,:]
TypeError: unhashable type
datafile[:,:1]
TypeError: unhashable type
from sklearn.linear_model import LinearRegression
model=LinearRegression()
model.fit(datafile.X,datafile.Y)
ValueError: Found arrays with inconsistent numbers of samples: [ 1 14]
OriginalL'auteur qurious | 2015-12-11
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez utiliser la tranche de la syntaxe pour sélectionner à partir d'un dataframe vous devez utiliser
Pour ton deuxième problème, l'entrée de X doit être une matrice, pas un vecteur, soit inclure plus de colonnes ou utilisez la syntaxe:
OriginalL'auteur maxymoo
Une autre option plus courte pour le tranchage des pandas trame de données est:
Michael merci pour le commentaire. C'est précis.
OriginalL'auteur Teddy Belay