pandas實現(xiàn)按行遍歷dataframe的方法(itertuples,iterrows)
1. 以命名元組的形式遍歷DataFrame行
pandas.DataFrame.itertuples
DataFrame.itertuples(index=True, name='Pandas')
關鍵字參數(shù):index
默認為True,所需為布爾值。當值為True時,將索引作為元組的第一個元素返回。
關鍵字參數(shù):name
默認為“Pandas”,所需為字符串或None。命名返回的元組的名稱,當為None時,返回普通元組。
返回:iterator
迭代器:用于返回DataFrame每行形成的命名元組,命名元組的第一個字段可能是索引,其余字段是列值。
tips:當列名是無效的Python標識符、或重復值、或以下劃線開頭時,該列名會以當前位置重命名。
示例:簡單使用itertuples,不設置index和name
>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},
... index=['dog', 'hawk'])
>>> df
num_legs num_wings
dog 4 0
hawk 2 2
>>> for row in df.itertuples():
... print(row)
...
Pandas(Index='dog', num_legs=4, num_wings=0)
Pandas(Index='hawk', num_legs=2, num_wings=2)示例:設置index=False以取消索引為首個字段
>>> for row in df.itertuples(index=False): ... print(row) ... Pandas(num_legs=4, num_wings=0) Pandas(num_legs=2, num_wings=2)
示例:自定義元組名稱
>>> for row in df.itertuples(name='Animal'): ... print(row) ... Animal(Index='dog', num_legs=4, num_wings=0) Animal(Index='hawk', num_legs=2, num_wings=2)
2. 以 (index, Series) 對的形式遍歷 DataFrame行
pandas.DataFrame.iterrows
返回:index
標簽或標簽元組。即行索引或多維索引元組。
返回:Series
以Series形式展示該行的數(shù)據(jù)。
示例:直接使用iterrows
由于 iterrows 會為每一行返回一個 Series,因此不會跨行保留 dtypes(DataFrames 的 dtypes 會跨列保留)。
>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float']) >>> row = next(df.iterrows())[1] >>> row int 1.0 float 1.5 Name: 0, dtype: float64 >>> print(row['int'].dtype) float64 >>> print(df['int'].dtype) int64
為了在遍歷行時保留 dtypes,最好使用 itertuples(),它返回值的命名元組,通常比 iterrows 更快。
tips:永遠不要修改正在迭代的內容。這并不能保證在所有情況下都有效。根據(jù)數(shù)據(jù)類型的不同,迭代器返回的是副本而不是視圖,對其寫入不會有任何影響。
到此這篇關于pandas實現(xiàn)按行遍歷dataframe的方法(itertuples,iterrows)的文章就介紹到這了,更多相關pandas 按行遍歷dataframe內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
提高Python生產力的五個Jupyter notebook插件
Jupyter Notebook 因其可用性和實用性而成為數(shù)據(jù)分析和機器學習模型領域最流行的 IDE,它也是很多數(shù)據(jù)初學者的首選 IDE。它最具特色的是,擁有豐富的插件、擴展數(shù)據(jù)處理能力和提升工作效率2021-11-11
Python高階函數(shù)與裝飾器函數(shù)的深入講解
這篇文章主要給大家介紹了關于Python高階函數(shù)與裝飾器函數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
Python爬蟲程序中使用生產者與消費者模式時進程過早退出的問題
本文主要介紹了Python爬蟲程序中使用生產者與消費者模式時進程過早退出的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01
Python使用psycopg2連接PostgreSQL數(shù)據(jù)庫的步驟
PostgreSQL 是一個廣泛使用的開源對象關系數(shù)據(jù)庫系統(tǒng),以其強大的功能和靈活性而聞名,Python,作為一種流行的編程語言,提供了多種方式與數(shù)據(jù)庫交互,其中 psycopg2 是連接 PostgreSQL 數(shù)據(jù)庫的流行選擇之一,本文介紹了Python使用psycopg2連接PostgreSQL數(shù)據(jù)庫的步驟2024-12-12
使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程
這篇文章主要介紹了使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程,包括一些簡單的輸入輸出和郵件功能,需要的朋友可以參考下2015-04-04

