ホームページ >バックエンド開発 >Python チュートリアル >Pandas で列の削除に「del df.column_name」が機能しないのはなぜですか?

Pandas で列の削除に「del df.column_name」が機能しないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-10 11:17:14721ブラウズ

Why Doesn't `del df.column_name` Work for Deleting Columns in Pandas?

Pandas DataFrame からの列の削除

del df['column_name'] の使用は、Pandas DataFrame から列を削除する有効な方法です。 DataFrame、代替構文 del df.column_name が失敗する理由を理解すると、より深い問題が明らかになりますPandas のメカニズム。

del df.column_name の失敗の理由

df.column_name を通じて Series にアクセスすると、結果のオブジェクトは列ではなく Series になります。 。これは、Pandas が DataFrame を基礎となる 2 次元配列として格納し、列が Series オブジェクトで表されるためです。したがって、del ステートメントは、この構文を使用して列を直接削除することはできません。

drop() を使用した代替アプローチ

代わりに、列を削除するための推奨される方法は、 Drop() 関数は、DataFrame 操作のためのより直感的で一貫したアプローチを提供します。

構文drop() のオプション

drop() 関数には、指定されたパラメータに応じて複数の構文オプションがあります。

  • df = df.drop('column_name', axis= 1): ラベルによって指定された列を削除します。ここで、axis=1 は列を示します。
  • df = df.drop(columns=['column_nameA', 'column_nameB']): ラベルごとに複数の列を削除します。
  • df = df.drop(df.columns[[0, 1, 3]], axis= 1): ゼロから始まるインデックスによって列を削除します。
  • df.drop(['column_nameA', 'column_nameB']、axis=1、inplace=True): DataFrame を再割り当てすることなく、その場で削除を実行します。

結論

del を使用して列を削除するのは論理的であるように思えるかもしれませんが、Pandas では技術的に正しくありません。 Drop() 関数は、この操作に対してより適切で多用途なメソッドを提供し、ラベルとインデックスベースの両方の削除、およびインプレース変更を可能にします。

以上がPandas で列の削除に「del df.column_name」が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。