Pandas之pandas DataFrame iterrows詳解
Pandas2.2 DataFrame
Indexing, iteration
| 方法 | 描述 |
|---|---|
| DataFrame.head([n]) | 用于返回 DataFrame 的前幾行 |
| DataFrame.at | 快速訪問和修改 DataFrame 中單個值的方法 |
| DataFrame.iat | 快速訪問和修改 DataFrame 中單個值的方法 |
| DataFrame.loc | 用于基于標簽(行標簽和列標簽)來訪問和修改 DataFrame 中的數(shù)據(jù) |
| DataFrame.iloc | 用于基于整數(shù)位置(行號和列號)來訪問和修改 DataFrame 中的數(shù)據(jù) |
| DataFrame.insert(loc, column, value[, …]) | 用于在 DataFrame 的指定位置插入一個新的列 |
| DataFrame.iter() | 用于迭代 DataFrame 的列名 |
| DataFrame.items() | 用于迭代 DataFrame 的列名和列數(shù)據(jù) |
| DataFrame.keys() | 返回 DataFrame 的列名 |
| DataFrame.iterrows() | 用于逐行迭代 DataFrame |
pandas.DataFrame.iterrows()
pandas.DataFrame.iterrows() 方法用于逐行迭代 DataFrame,每次迭代返回一個包含行索引和行數(shù)據(jù)的元組。
行數(shù)據(jù)以 Series 對象的形式返回,其中索引是列名,值是該行對應(yīng)列的值。
- 語法:
for index, row in DataFrame.iterrows():
# 處理行索引和行數(shù)據(jù)- 示例:
假設(shè)我們有一個 DataFrame 如下:
import pandas as pd
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])
print(df)輸出:
A B C
row1 1 4 7
row2 2 5 8
row3 3 6 9
迭代行索引和行數(shù)據(jù)
使用 iterrows() 方法逐行迭代 DataFrame:
for index, row in df.iterrows():
print(f"Index: {index}")
print(f"Row: {row}")
print()輸出:
Index: row1
Row: A 1
B 4
C 7
Name: row1, dtype: int64Index: row2
Row: A 2
B 5
C 8
Name: row2, dtype: int64Index: row3
Row: A 3
B 6
C 9
Name: row3, dtype: int64
訪問特定列的值
在迭代行數(shù)據(jù)時,訪問特定列的值:
for index, row in df.iterrows():
print(f"Index: {index}, A: {row['A']}, B: {row['B']}, C: {row['C']}")輸出:
Index: row1, A: 1, B: 4, C: 7
Index: row2, A: 2, B: 5, C: 8
Index: row3, A: 3, B: 6, C: 9
注意事項:
- 性能問題:
iterrows()在處理大型 DataFrame 時性能較差,因為它會將每一行轉(zhuǎn)換為Series對象,這會導致額外的開銷。對于性能敏感的操作,建議使用itertuples()或向量化操作。 - 修改數(shù)據(jù): 在迭代過程中修改 DataFrame 的數(shù)據(jù)可能會導致不可預測的結(jié)果。如果需要修改數(shù)據(jù),建議先創(chuàng)建一個副本或使用其他方法。
總結(jié)
pandas.DataFrame.iterrows() 方法提供了一種逐行迭代 DataFrame 的方式,每次迭代返回一個包含行索引和行數(shù)據(jù)的元組。
雖然使用方便,但在處理大型數(shù)據(jù)集時需要注意性能問題。對于需要逐行處理數(shù)據(jù)的場景,iterrows() 是一個有用的工具。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python控制結(jié)構(gòu)的條件判斷與循環(huán)示例詳解
這篇文章主要為大家介紹了python控制結(jié)構(gòu)的條件判斷與循環(huán)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
Django ModelSerializer實現(xiàn)自定義驗證的使用示例
本文主要介紹了Django ModelSerializer實現(xiàn)自定義驗證的使用示例,多種字段驗證器幫助開發(fā)者確保數(shù)據(jù)的完整性和準確性,具有一定的參考價值,感興趣的可以了解一下2023-11-11
Python爬蟲實例_利用百度地圖API批量獲取城市所有的POI點
下面小編就為大家分享一篇Python爬蟲實例_利用百度地圖API批量獲取城市所有的POI點,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
深入理解?Python?中的?pip?虛擬環(huán)境(最佳實踐)
本文深入講解了Python中pip虛擬環(huán)境的概念及其重要性,并詳細介紹了如何創(chuàng)建、激活和管理虛擬環(huán)境,以及如何使用requirements.txt文件記錄和管理項目依賴,文章指出,使用虛擬環(huán)境可以有效避免依賴沖突,為每個項目提供一個干凈的開發(fā)環(huán)境,使得項目更易于維護和部署2024-10-10
pycharm中使用pyplot時報錯MatplotlibDeprecationWarning
最近在使用Pycharm中matplotlib作圖處理時報錯,所以這篇文章主要給大家介紹了關(guān)于pycharm中使用pyplot時報錯MatplotlibDeprecationWarning的相關(guān)資料,需要的朋友可以參考下2023-12-12
使用Python將PDF表格提取到文本,CSV和Excel文件中
本文將介紹如何使用簡單的Python代碼從PDF文檔中提取表格數(shù)據(jù)并將其寫入文本、CSV和Excel文件,從而輕松實現(xiàn)PDF表格的自動化提取,有需要的可以參考下2024-11-11

