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

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

Barbara Streisand
リリース: 2024-12-23 20:37:11
オリジナル
323 人が閲覧しました

How Do I Iterate Over Rows in a Pandas DataFrame Efficiently?

Pandas DataFrame の行の反復

Pandas DataFrame の行の反復により、個々の行とその要素にアクセスできます。これを実現するために、Pandas は一般的に使用される 2 つのメソッド、DataFrame.iterrows と DataFrame.T.iteritems() を提供します。

DataFrame.iterrows:

DataFrame.iterrows は行のインデックスと Pandas シリーズとして表される行自体の両方を生成するジェネレーター。次のコード スニペットは、その使用法を示しています:

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
ログイン後にコピー

DataFrame.T.iteritems():

DataFrame.T.iteritems() は、DataFrame の列を反復処理します。 .T と .iteritems() を使用して DataFrame を転置すると、列名と行の両方がシリーズとして生成されます。一般に、このアプローチは iterrows よりも効率が低いことに注意してください:

for column_name, row in df.T.iteritems():
    print(column_name, row['c1'], row['c2'])
ログイン後にコピー

これは出力します:

c1 10 11 12
c2 100 110 120
ログイン後にコピー

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

反復処理pandas オブジェクトは一般に、ベクトル化された操作や apply() メソッドを使用した関数の適用よりも遅くなります。パフォーマンスが重要な場合は、cython または numba を利用して反復操作のパフォーマンスを向上させることを検討してください。

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

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