You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中遍历行?遇InvalidIndexError求解决

解决Pandas遍历行时的InvalidIndexError问题

错误原因很直接:sd.iterrows()每次迭代返回的是**(行索引, 行数据对象)**的元组,你直接把这个元组row作为索引去取sd[row],肯定触发InvalidIndexError。

给你三种可行的修正方案:

1. 正确使用iterrows()解构数据

import pandas as pd
sd = pd.read_excel('DF.xlsx')
# 解构迭代返回的元组,idx是行索引,row是行数据对象
for idx, row in sd.iterrows():
    # 替换成你数据中存储IRFC:NSE的列名,比如列名叫ticker/股票代码等
    ticker = row['ticker']
    url1 = f'https://www.google.com/finance/quote/{ticker}'
    # 这里可以添加对url1的操作,比如打印、存储等
    print(url1)

2. 用itertuples()更高效遍历

如果不需要行索引,itertuples()比iterrows()性能更好:

sd = pd.read_excel('DF.xlsx')
# index=False表示不返回行索引
for row in sd.itertuples(index=False):
    ticker = row.ticker  # 同样替换为实际列名
    url1 = f'https://www.google.com/finance/quote/{ticker}'
    print(url1)

3. 矢量化操作(推荐,无需遍历)

Pandas最擅长批量操作,直接对整列处理效率最高:

sd = pd.read_excel('DF.xlsx')
# 生成新列存储所有链接
sd['finance_url'] = 'https://www.google.com/finance/quote/' + sd['ticker']
# 查看结果
print(sd['finance_url'])

注意:所有代码中的ticker都要替换成你Excel表格中对应IRFC:NSE所在列的实际列名,比如列名叫“证券代码”就改成row['证券代码']或sd['证券代码']。

内容的提问来源于stack exchange,提问作者Aryaman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 17:14:57