Skip to main content
 首页 » 编程设计

python之迭代数据框

2025年05月04日13kuangbin

我正在尝试遍历“文件名”列由字符串组成的数据框。我有以下内容,但是,我收到以下错误。

结果是一个不同的Dataframe

k = 1 
l = 0 
for row in df.iterrows(): 
    if k % 3 == 0: 
        result.loc[l, 'H2'] = row['Filename'] 
        l += 1 
    elif k % 2 == 0: 
        result.loc[l, 'H1'] = row['Filename'] 
    else: 
        result.loc[l, 'V'] = row['Filename'] 
    k += 1 

我得到的错误是:

TypeError: tuple indices must be integers or slices, not str 

有修复的想法吗?

请您参考如下方法:

当您使用 df.iterrows() 遍历 df 时,它将为每一行返回一个元组,其中 row[0] 是行的索引,row[1] 是一个系列。

所以你可以这样做:

row[1]['Filename'] 

我个人喜欢使用返回命名元组的 .itertuples() 进行迭代:

for row in df2.itertuples(): 
    print row.Filename