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

Pandas DataFrame 行を効率的に反復するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-27 20:00:18658ブラウズ

How Can I Efficiently Iterate Through Pandas DataFrame Rows?

Pandas DataFrame 行の走査

Pandas DataFrame の行の反復処理は、表形式データを操作するときによく発生します。この記事では、このタスクを達成するための 2 つの方法を検討し、行オブジェクトの構成を明らかにします。

iterrows() の使用

Pandas は、インデックスと行の両方を返す効率的な DataFrame.iterrows ジェネレーターを提供します。各観測値のシリーズとして。このメソッドにより、行のインデックスを使用して列の値に直接アクセスできます:

import pandas as pd

df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})

for index, row in df.iterrows():
    print(row['c1'], row['c2'])

このスニペットの出力:

10 100
11 110
12 120

パフォーマンスに関する考慮事項

Pandas オブジェクトの反復中は一般に便利なアプローチですが、ベクトル化された操作に比べて時間がかかる可能性があります。パフォーマンスを最大化するには、次のような代替手法を検討してください。

  • ベクトル化された計算に組み込みメソッドと NumPy 関数を利用する
  • 効率的なデータのサブセット化のためのブール インデックスの利用。
  • 直接変更が必要な反復操作には apply() を使用します。
  • 最適化cython または numba を使用したパフォーマンスが重要なループ。

追加の反復メソッド

iterrows() 以外にも、Pandas は次のような他の行反復メソッドを提供します。

  • itertuples(): それぞれの名前付きタプルを返します。 row.
  • iterrows(ignore_index=True): インデックスを除いて行を繰り返します。
  • itertuples(ignore_index=True): と同様itertuples() を除きます。インデックス。

以上がPandas DataFrame 行を効率的に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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