Python - Des Pandas.isin' sur une liste

J'utilise Python 2.7 sur Mac OSX Lion et les Pandas 0.11.0 avec le IPython shell.

J'ai une brève question, en utilisant les données de la méthode de sélection .isin.

Le problème est que je voudrais utiliser .isin sur une liste d'éléments, donc:

data = df[df[header[0]].isin(list)]

J'obtiens l'erreur suivante lorsque je fais ceci: KeyError: u'no item named '

- Je générer la liste initiale en appelant un précédemment développé fonction. J'ai essayé d'utiliser eval sur la liste, qui semble résoudre un problème qui survient lors de l'utilisation de raw_input et une itération sur les éléments à l'intérieur - un peu en essayant de travailler avec certaines des questions que j'ai eu lors de la transition vers IPython et Python 2.7 (à l'origine utilisé Python 3.3).

J'ai aussi essayé de parcourir la liste, d'abord:

data = df[df[header[0]].isin(list[0])]

Mais qui renvoie également: KeyError: u'no item named '

Mise à JOUR:
Voici l'en-tête:

 Unnamed: 0         9752  non-null values
 zipcode            9752  non-null values
 xcoord             9752  non-null values
 ycoord             9752  non-null values
 age_age5064        9752  non-null values
 age_age6574        9752  non-null values
 age_age75plus      9752  non-null values
 sex_female         9752  non-null values
 sex_male           9752  non-null values
 stage_early        9752  non-null values
 stage_late         9752  non-null values
 death_death        9752  non-null values
 death_not_death    9752  non-null values
 access             9752  non-null values
 dtypes: float64(2), int64(12)

Aussi, j'ai une fonction que j'utilise pour obtenir l'en-tête, ce qui rend les choses plus facile pour moi, la sortie ressemble à ceci:

['',
  'zipcode',
  'xcoord',
  'ycoord',
 'age_age5064',
 'age_age6574',
 'age_age75plus',
 'sex_female',
 'sex_male',
 'stage_early',
 'stage_late',
 'death_death',
 'death_not_death',
 'access']

Qui, en fait, maintenant que j'y pense, peut-être ce qui est à l'origine du problème - bien que eval ne serait toujours pas de correctif.

Mise à JOUR 2:

Donc, d'abord, comme vous pouvez le voir ci-dessus .isin, j'ai été en utilisant header[0], ce qui n'était pas droit. J'ai essayé de nouveau à l'aide de header[1], qui est approprié. J'obtiens l'erreur suivante:

 TypeError: 'int' object is not iterable

J'ai aussi essayé la liste de nouveau et a obtenu ce message d'erreur:

TypeError: int() argument must be a string or a number, not 'list'

Qui, je crois, parle de façon plus définitive à la question....

Est votre header un DataFrame?, Quelle est la différence entre votre df et header?
Dans le df[df[header[0]].isin(list)], en-tête n'est pas un DataFrame. C'est une liste de noms de colonnes, qui composent l'en-tête.
Comment avez-vous la tête? Par df.columns?
J'ai eu l'en-tête par l'appel d'une fonction, j'ai écrit appelé getHeader, qui a littéralement retourne le nom des colonnes, sous la forme d'une liste, à partir d'un fichier CSV.
Bien que, je n'ai également mis le résultat de l'appel DataFrame.columns, qui est juste en dessous où il est dit "mise à JOUR"...

OriginalL'auteur DMML | 2013-05-29