ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame で複数の列を効率的に選択するにはどうすればよいですか?

Pandas DataFrame で複数の列を効率的に選択するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-08 21:19:15
オリジナル
1069 人が閲覧しました

How Do I Efficiently Select Multiple Columns in a Pandas DataFrame?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート