python中遍历dataframe

本文介绍了在Python数据分析中,如何使用PandasDataFrame的iterrows(),itertuples()和iteritems()方法进行行或列的遍历,包括它们的输出形式和特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      在数据分析的过程中,往往需要用到DataFrame的类型,因为这个类型就像EXCEL表格一样,便于我们个中连接、计算、统计等操作。在数据分析的过程中,避免不了的要对数据进行遍历,那么,DataFrame如何遍历呢?之前,小白每次使用时都是Google或百度,想想,还是总结一下~

      小白经常用到的有三种方式,如下:

首先,先读入一个DataFrame

 
  1. import pandas as pd

  2. #读入数据

  3. df = pd.read_table('d:/Users/chen_lib/Desktop/tmp.csv',sep=',', header='infer')

  4. df.head()

  5. -----------------result------------------

  6. mas effectdate num

  7. 0 371379 2019-07-15 361

  8. 1 344985 2019-07-13 77

  9. 2 425090 2019-07-01 105

  10. 3 344983 2019-02-19 339

  11. 4 432430 2019-02-21 162

1.DataFrame.iterrows()

       将DataFrame的每一行迭代为{索引,Series}对,对DataFrame的列,用row['cols']读取元素

 
  1. for index, row in df.iterrows():

  2. print(index,row['mas'],row['num'])

  3. ------------result---------------

  4. 0 371379 361

  5. 1 344985 77

  6. 2 425090 105

  7. 3 344983 339

  8. 4 432430 162

从结果可以看出,第一列就是对应的index,也就是索引,从0开始,第二第三列是自定义输出的列,这样就完成了对DataFrame的遍历。

2.DataFrame.itertuples()

       将DataFrame的每一行迭代为元祖,可以通过row['cols']对元素进行访问,方法一效率高。

 
  1. for row in df.itertuples():

  2. print(getattr(row, 'mas'), getattr(row, 'num')) # 输出每一行

  3. -------------result-----------------

  4. 371379 361

  5. 344985 77

  6. 425090 105

  7. 344983 339

  8. 432430 162

从结果可以看出,这种方法是没有index的,直接输出每一行的结果。

3.DataFrame.iteritems()

     这种方法和上面两种不同,这个是按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row['cols']对元素进行访问。

 
  1. for index, row in df.iteritems():

  2. print(index,row[0],row[1],row[2])

  3. -------------result------------------

  4. masterhotelid 371379 344985 425090

  5. effectdate 2019-07-15 2019-07-13 2019-07-01

  6. quantity 361 77 105

从结果可以看出,index输出的是列名,row是用来读取第几行的数据,结果是按列展示

       以上就是小白经常用到的遍历DataFrame的方法啦,欢迎大家补充哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值