? ? ? 在數據分析的過程中,往往需要用到DataFrame的類型,因為這個類型就像EXCEL表格一樣,便于我們個中連接、計算、統計等操作。在數據分析的過程中,避免不了的要對數據進行遍歷,那么,DataFrame如何遍歷呢?之前,小白每次使用時都是Google或百度,想想,還是總結一下~
? ? ? 小白經常用到的有三種方式,如下:
首先,先讀入一個DataFrame
import pandas as pd
#讀入數據
df = pd.read_table('d:/Users/chen_lib/Desktop/tmp.csv',sep=',', header='infer')
df.head()
-----------------result------------------
mas effectdate num
0 371379 2019-07-15 361
1 344985 2019-07-13 77
2 425090 2019-07-01 105
3 344983 2019-02-19 339
4 432430 2019-02-21 162
1.DataFrame.iterrows()
? ? ? ?將DataFrame的每一行迭代為{索引,Series}對,對DataFrame的列,用row['cols']讀取元素
for index, row in df.iterrows():
print(index,row['mas'],row['num'])
------------result---------------
0 371379 361
1 344985 77
2 425090 105
3 344983 339
4 432430 162
從結果可以看出,第一列就是對應的index,也就是索引,從0開始,第二第三列是自定義輸出的列,這樣就完成了對DataFrame的遍歷。
2.DataFrame.itertuples()
? ? ? ?將DataFrame的每一行迭代為元祖,可以通過row['cols']對元素進行訪問,方法一效率高。
for row in df.itertuples():
print(getattr(row, 'mas'), getattr(row, 'num')) # 輸出每一行
-------------result-----------------
371379 361
344985 77
425090 105
344983 339
432430 162
從結果可以看出,這種方法是沒有index的,直接輸出每一行的結果。
3.DataFrame.iteritems()
? ? ?這種方法和上面兩種不同,這個是按列遍歷,將DataFrame的每一列迭代為(列名, Series)對,可以通過row['cols']對元素進行訪問。
for index, row in df.iteritems():
print(index,row[0],row[1],row[2])
-------------result------------------
masterhotelid 371379 344985 425090
effectdate 2019-07-15 2019-07-13 2019-07-01
quantity 361 77 105
從結果可以看出,index輸出的是列名,row是用來讀取第幾行的數據,結果是按列展示
? ? ? ?以上就是小白經常用到的遍歷DataFrame的方法啦,歡迎大家補充哦~
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
