首頁 > 後端開發 > 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 提供了兩種常用的方法:DataFrame.iterrows 和 DataFrame.T.iteritems()。

DataFrame.iterrows:

DataFrame.iterrows 是一個生成器,產生行的索引和表示為 Pandas Series 的行本身。以下程式碼片段示範了其用法:

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 會產生列名和行作為 Series。請注意,這種方法通常比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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板