pandas實(shí)現(xiàn)按行遍歷dataframe的方法(itertuples,iterrows)
1. 以命名元組的形式遍歷DataFrame行
pandas.DataFrame.itertuples
DataFrame.itertuples(index=True, name='Pandas')
關(guān)鍵字參數(shù):index
默認(rèn)為True,所需為布爾值。當(dāng)值為True時(shí),將索引作為元組的第一個(gè)元素返回。
關(guān)鍵字參數(shù):name
默認(rèn)為“Pandas”,所需為字符串或None。命名返回的元組的名稱,當(dāng)為None時(shí),返回普通元組。
返回:iterator
迭代器:用于返回DataFrame每行形成的命名元組,命名元組的第一個(gè)字段可能是索引,其余字段是列值。
tips:當(dāng)列名是無效的Python標(biāo)識符、或重復(fù)值、或以下劃線開頭時(shí),該列名會(huì)以當(dāng)前位置重命名。
示例:簡單使用itertuples,不設(shè)置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)示例:設(shè)置index=False以取消索引為首個(gè)字段
>>> 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
標(biāo)簽或標(biāo)簽元組。即行索引或多維索引元組。
返回:Series
以Series形式展示該行的數(shù)據(jù)。
示例:直接使用iterrows
由于 iterrows 會(huì)為每一行返回一個(gè) Series,因此不會(huì)跨行保留 dtypes(DataFrames 的 dtypes 會(huì)跨列保留)。
>>> 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
為了在遍歷行時(shí)保留 dtypes,最好使用 itertuples(),它返回值的命名元組,通常比 iterrows 更快。
tips:永遠(yuǎn)不要修改正在迭代的內(nèi)容。這并不能保證在所有情況下都有效。根據(jù)數(shù)據(jù)類型的不同,迭代器返回的是副本而不是視圖,對其寫入不會(huì)有任何影響。
到此這篇關(guān)于pandas實(shí)現(xiàn)按行遍歷dataframe的方法(itertuples,iterrows)的文章就介紹到這了,更多相關(guān)pandas 按行遍歷dataframe內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表實(shí)例代碼
大家應(yīng)該都知道xlwt是python中寫入到excel的庫,下面這篇文章主要給大家介紹了關(guān)于利用Python第三方庫xlwt寫入數(shù)據(jù)到Excel工作表的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
python將字符串轉(zhuǎn)換成數(shù)組的方法
這篇文章主要介紹了python將字符串轉(zhuǎn)換成數(shù)組的方法,涉及Python操作字符串與數(shù)組的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Python模擬鋼琴鍵盤實(shí)現(xiàn)演奏數(shù)鴨子歌曲
前幾天上課老師給我們講了兩個(gè)模塊,然后利用這兩個(gè)模塊來模擬鋼琴鍵盤去簡單地演奏《數(shù)鴨子》今天來分享給大家,感興趣的可以了解一下2022-11-11
如何使用python傳入不確定個(gè)數(shù)參數(shù)
這篇文章主要介紹了如何使用python傳入不確定個(gè)數(shù)參數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02

