"ValueError: labels ['timestamp'] not contained in axis"
vous n'avez pas les en-têtes dans le fichier, alors la façon dont vous l'avez chargé-vous un df
où la Les noms de colonnes sont les premières lignes des données. Vous avez essayé d'accéder à colunm timestamp
qui n'existe pas.
Votre u.data
ne dispose pas d'en-têtes dans ce
$head u.data
196 242 3 881250949
186 302 3 891717742
travail Donc, avec les noms de colonnes ne va pas être possible, à moins d'ajouter les en-têtes. Vous pouvez ajouter les en-têtes au fichier u.data
, par ex. Je l'ai ouvert dans un éditeur de texte et ajouté la ligne a b c timestamp
en haut de celui-ci (cela semble être un fichier séparé par des tabulations, donc attention à ne pas utiliser d'espaces, sinon il casse le format)
$head u.data
a b c timestamp
196 242 3 881250949
186 302 3 891717742
maintenant votre code fonctionne et data.columns
retours
Index([u'a', u'b', u'c', u'timestamp'], dtype='object')
et le reste de la trace de votre code de travail est maintenant
(100000, 4) # the shape
['a', 'b', 'c', 'timestamp'] # the columns
a b c timestamp # the df
0 196 242 3 881250949
1 186 302 3 891717742
2 22 377 1 878887116
3 244 51 2 880606923
4 166 346 1 886397596
5 298 474 4 884182806
6 115 265 2 881171488
7 253 465 5 891628467
8 305 451 3 886324817
9 6 86 3 883603013
Si vous ne voulez pas ajouter des en-têtes
Ou vous pouvez supprimer la colonne « timestamp » utiliser son index (probablement 3), nous pouvons le faire en utilisant df.ix
dessous permet de sélectionner toutes les lignes, colonnes index 0 à l'index 2 , laissant tomber ainsi la colonne avec l'index 3
data.ix[:, 0:2]
Copie possible de [ValueError: labels \ ['timestamp' \] non contenu dans l'axe] (http://stackoverflow.com/questions/37763715/valueerror-labels-timestamp-not-contained-in-axis) – pekapa