首頁 > 後端開發 > Python教學 > 如何有效地迭代 Pandas DataFrame 行?

如何有效地迭代 Pandas DataFrame 行?

Mary-Kate Olsen
發布: 2024-12-27 20:00:18
原創
651 人瀏覽過

How Can I Efficiently Iterate Through Pandas DataFrame Rows?

遍歷 Pandas DataFrame 行

遍歷 Pandas DataFrame 的行是操作表格資料時常遇到的情況。本文探討了完成此任務的兩種方法,並闡明了行物件的組成。

使用 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中文網其他相關文章!

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