Python之DataFrame遍历

系统 2855 0

      在数据分析的过程中,往往需要用到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元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论