Pandas之pandas DataFrame iterrows詳解
Pandas2.2 DataFrame
Indexing, iteration
方法 | 描述 |
---|---|
DataFrame.head([n]) | 用于返回 DataFrame 的前幾行 |
DataFrame.at | 快速訪問和修改 DataFrame 中單個值的方法 |
DataFrame.iat | 快速訪問和修改 DataFrame 中單個值的方法 |
DataFrame.loc | 用于基于標(biāo)簽(行標(biāo)簽和列標(biāo)簽)來訪問和修改 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
對象,這會導(dǎo)致額外的開銷。對于性能敏感的操作,建議使用itertuples()
或向量化操作。 - 修改數(shù)據(jù): 在迭代過程中修改 DataFrame 的數(shù)據(jù)可能會導(dǎo)致不可預(yù)測的結(jié)果。如果需要修改數(shù)據(jù),建議先創(chuàng)建一個副本或使用其他方法。
總結(jié)
pandas.DataFrame.iterrows()
方法提供了一種逐行迭代 DataFrame 的方式,每次迭代返回一個包含行索引和行數(shù)據(jù)的元組。
雖然使用方便,但在處理大型數(shù)據(jù)集時需要注意性能問題。對于需要逐行處理數(shù)據(jù)的場景,iterrows()
是一個有用的工具。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)設(shè)計模式之單例模式詳解
這篇文章主要介紹了Python實現(xiàn)設(shè)計模式之單例模式詳解,設(shè)計模式是指軟件設(shè)計問題的推薦方案,設(shè)計模式一般是描述如何組織代碼和使用最佳實踐來解決常見的設(shè)計問題,需謹(jǐn)記一點:設(shè)計模式是高層次的方案,并不關(guān)注具體的實現(xiàn)細節(jié),比如算法和數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下2023-09-09詳解python如何正確使用時間戳,日期,時間,時區(qū)
這篇文章主要為大家介紹了如何在python中正確使用時間戳,日期,時間,時區(qū),文中通過簡單的示例進行了詳細介紹,希望對大家有一定的幫助2024-11-11