ホームページ >バックエンド開発 >Python チュートリアル >Pandas データフレームを効率的にループする方法は?

Pandas データフレームを効率的にループする方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-13 03:45:02568ブラウズ

How to Efficiently Loop Through Pandas Dataframes?

Pandas でデータフレームをループする最も効率的な方法

データフレームに格納された複雑な財務データを扱う場合、効率的な反復手法が重要になります。 enumerate(df.values) を使用した従来のアプローチは非効率的になる可能性があります。幸いなことに、pandas はより最適化されたソリューションを導入しました。

Pandas iterrows 関数の使用

最近の pandas バージョンでは、行を反復処理する iterrows 関数が提供されています。

for index, row in df.iterrows():
    # Perform logic here

このメソッドはインデックスと行データの両方を提供し、カスタマイズされた分析を可能にしながら効率を確保します。

代替: Pandas itertuples Function

さらに高速なオプションは次のとおりです。 itertuples 関数を使用します:

for idx, row_obj in df.itertuples(index=True):
    # Perform logic here

このアプローチでは、numpy 関数を利用して行の反復をバイパスしてデータを直接操作し、パフォーマンスを大幅に向上させることができます。

Numpy オペレーションの使用

unutbu が提案しているように、numpy 関数を直接利用すると最速のコードを提供できます。行を反復処理する代わりに、データフレーム全体に操作を適用できます。

df['new_column'] = np.where(df['open'] > 10, 'high', 'low')

このアプローチでは、不要な反復が排除され、numpy のベクトル化された操作を活用して効率が向上します。

以上がPandas データフレームを効率的にループする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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