iterrows(), iteritems(), itertuples()对dataframe进行遍历

本文介绍了Pandas库中三种常用的DataFrame迭代方法:iterrows(), itertuples() 和 iteritems()。通过对示例DataFrame的迭代演示了如何使用这些方法,并强调了itertuples()相比iterrows()在性能上的优势。

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

  • iterrows(): 将DataFrame迭代为(insex, Series)对。
  • itertuples(): 将DataFrame迭代为元祖。
  • iteritems():将DataFrame迭代为(列名, Series)对

现有如下DataFrame数据:

import pandas as pd

inp = [{'c1':10, 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}]
df = pd.DataFrame(inp)

print(df)

iterrows():

for date, row in df.iterrows():
    print(date)


for date, row in df.iterrows():
    print(row)

对于每一行,通过列名访问对应的元素

for date, row in df.iterrows():
    print(row['c1'], row['c2'])

iteritems():

for date, row in df.iteritems():
    print(date)


for date, row in df.iteritems():
    print(row)


for date, row in df.iteritems():
    print(row[0], row[1], row[2])

itertuples():

for row in df.itertuples():
  print(row)


for row in df.itertuples():
    print(getattr(row, 'c1'), getattr(row, 'c2'))

Tip:

intertuples相较于interrow的效率更高,遍历速度更快。因此在遍历dataframe的时候,可以优先使用intertuples。此外,当存带有时间的列名时,可以将其作为索引,则可以使用data.iloc[a_time:b_time],获取时间窗内的数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值