如何利用itertuples對DataFrame進(jìn)行遍歷
用itertuples對DataFrame進(jìn)行遍歷
最近在做推薦系統(tǒng)實(shí)踐的時候需要生成物品同現(xiàn)矩陣和用戶物品矩陣,發(fā)現(xiàn)了對DataFrame對象進(jìn)行遍歷很方便的函數(shù)itertuples
與此相關(guān)的有如下:
iterrows()
: 將DataFrame迭代成(index ,series)iteritems()
:將DataFrame迭代成(列名,series)itertuples()
:將DataFrame迭代成元組
示例如下:
通過getattr()函數(shù)可以直接獲取元組內(nèi)指定的值
這里通過列明索引訪問對應(yīng)的值
這里通過Index 索引獲取對應(yīng)的值
Pandas——Dataframe行遍歷幾種常用方法性能分析
pandas作為python數(shù)據(jù)分析的一大利器,為廣大數(shù)據(jù)分析人員使用。無意中,聽到美女同事吐槽:dataframe好慢?。∴藕?,瞬間引起了我這個數(shù)據(jù)人的注意,過去一看,原來是用的方法本身效率低。
日常工作中,按照行遍歷數(shù)據(jù)是我們一個非常常見的場景!尤其是從sql boy轉(zhuǎn)到數(shù)據(jù)分析的我,動不動就想
?select * from table1;
一下,看看數(shù)據(jù)的大概情況。這一操作在pandas中的實(shí)現(xiàn)主要有一下幾種:
1、iterrows()
原理是將Dataframe迭代為Series,再返回結(jié)果。這一過程中需要進(jìn)行類型檢查,所以,會花費(fèi)很長的時間。(不建議使用)
for index, row in df.iterrows(): ? ? ?#字典方式訪問 ? ? ?print(index, row['c1'], row['c2'])
2、itertuples()
原理是將Dataframe迭代為tuple,再進(jìn)行返回,由于元組不可變的特性,此過程不需要進(jìn)行類型檢查。(效率高,推薦使用)
for row in student.itertuples(): ? ? # print(row) ? ? print(row.Index, row.name, row.account, row.pwd) ? ? print(row.Index, getattr(row,'name'), getattr(row,'account'), getattr(row,'pwd'))
3、for + zip
這種方法是直接手動構(gòu)造原生tuple,無需關(guān)心index數(shù)據(jù)。(效率高,推薦使用)
for A, B in zip(df['A'], df['B']): ? ? print(A, B)
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- pandas中的DataFrame數(shù)據(jù)遍歷解讀
- Python?pandas按行、按列遍歷DataFrame的幾種方式
- Python數(shù)據(jù)分析之?Pandas?Dataframe條件篩選遍歷詳情
- pandas按行按列遍歷Dataframe的幾種方式
- pandas中遍歷dataframe的每一個元素的實(shí)現(xiàn)
- 在pandas中遍歷DataFrame行的實(shí)現(xiàn)方法
- Pandas DataFrame中的tuple元素遍歷的實(shí)現(xiàn)
- python中使用iterrows()對dataframe進(jìn)行遍歷的實(shí)例
- 對Python中DataFrame按照行遍歷的方法
相關(guān)文章
FastApi如何快速構(gòu)建一個web項(xiàng)目的實(shí)現(xiàn)
本文主要介紹了FastApi如何快速構(gòu)建一個web項(xiàng)目的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Pandas提高數(shù)據(jù)分析效率的13個技巧匯總
這篇文章主要是為大家歸納整理了13個工作中常用到的pandas使用技巧,方便更高效地實(shí)現(xiàn)數(shù)據(jù)分析,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-05-05Python中文分詞庫jieba,pkusegwg性能準(zhǔn)確度比較
這篇文章主要介紹了Python中文分詞庫jieba,pkusegwg性能準(zhǔn)確度比較,需要的朋友可以參考下2020-02-02django 實(shí)現(xiàn)celery動態(tài)設(shè)置周期任務(wù)執(zhí)行時間
今天小編就為大家分享一篇django 實(shí)現(xiàn)celery動態(tài)設(shè)置周期任務(wù)執(zhí)行時間,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11pandas將Series轉(zhuǎn)成DataFrame的實(shí)現(xiàn)
本文主要介紹了pandas將Series轉(zhuǎn)成DataFrame的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01