5

Mac OSX Lion と Pandas 0.11.0 で IPython シェルを使用して Python 2.7 を使用しています。

データ選択方法を使用して、簡単な問題があります.isin

.isin問題は、アイテムのリストで使用したいということです。

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

これを行うと、次のエラーが表示されます。KeyError: u'no item named '

以前に開発した関数を呼び出して初期リストを生成します。evalリストで使用してみました。これにより、その中のアイテムを使用raw_inputして反復するときに発生する問題が解決されるようです。IPythonPython 2.7Python 3.3

また、最初に次のことを行って、リストを反復処理してみました。

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

しかし、それはまた返します:KeyError: u'no item named '

更新:ヘッダーは次のとおりです。

 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)

また、ヘッダーを取得するために使用する関数があります。これにより、作業が簡単になります。出力は次のようになります。

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

実際、今考えてみると、それが問題の原因である可能性がありますが、evalそれでも修正されません.

更新 2:

したがって、最初は、上記の でわかるよう.isinに、 を使用しheader[0]ていましたが、これは正しくありませんでした。を使用して再試行しましheader[1]たが、これは適切です。次のエラーが表示されます。

 TypeError: 'int' object is not iterable

また、通常のリストをもう一度試してみたところ、次のエラーが発生しました。

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

どちらが問題をより明確に物語っていると思いますか....

4

1 に答える 1

8

代わりに df.columns をヘッダーとして使用してみてください:

df[df[df.columns[1]].isin(list)]
于 2013-05-29T03:42:59.263 に答える