Pandas データフレームでの複数の列の選択
Python の Pandas ライブラリでは、データフレームから特定の列を選択するのが一般的な操作です。ただし、これを特定の方法で実行しようとすると、エラーが発生する可能性があります。
失敗した試行:
df['a':'b'] または df のようなスライス表記を使用する列名が文字列であるため、「a」と「b」の間の列を選択する .ix[:, 'a':'b'] は失敗します。その方法でスライスすることはできません。
成功するオプション:
列名の使用:
列名を使用して特定の列を選択するには名前を指定するには、四角形の中に希望の列名のリストを入力します。括弧:
df1 = df[['a', 'b']]
列インデックスの使用:
(名前ではなく) インデックスで列を選択することが重要な場合は、次を使用します。 iloc:
df1 = df.iloc[:, 0:2] # Note: Python slicing is exclusive of the ending index.
考慮事項:
ビューとコピー:
上記のメソッドは、コピーではなく、目的の列。メモリ内に新しいコピーを作成するには、.copy() メソッドを使用します。
df1 = df.iloc[0, 0:2].copy() # Ensures modifications to df1 do not alter df
get_loc で列インデックスを使用する:
特定の列のインデックスを取得するには、 columns メソッドの get_loc 関数を使用します:
column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
これは、キーは列インデックス、値は列名です。これらのインデックスを iloc で使用して、目的の列を選択できます。
以上がPandas DataFrame で複数の列を効率的に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。