Python:我对pandas有一些问题(元组索引必须是整数或切片,而不是str)

2024-05-15 18:03:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将.csv文件中的散列值与三列image\u url、code和散列进行比较。 首先,我试着从code=1的行打印散列值

这是我的代码,用于获取包含我需要的所有行的数据帧

readpath = os.path.join(folder,readfile)
df = pd.read_csv(readpath)
df_code1 = df[df["code"] == 1]

但现在问题开始出现了

for row in df_code1.iterrows():
    try:
        print(row['hash'])
    except Exception as e:
        print(e)

反复打印tuple indices must be integers or slices, not str。。当我改用df_code1.rows:时,我得到的错误消息“DataFrame”对象没有属性“rows”

我很确定我导入的东西都是正确的

谁能告诉我我做错了什么


Tags: 文件csv数据代码imageurldfos
1条回答
网友
1楼 · 发布于 2024-05-15 18:03:50

首先,我认为最好是避免使用DataFrame.iterrows

Generally, iterrows should only be used in very, very specific cases.


问题是^{}返回2个值:

index label or tuple of label
The index of the row. A tuple for a MultiIndex.

data Series
The data of the row as a Series.

因此,如果将输出分配给rowget元组:

for row in df_code1.iterrows():
    print (row)

因此,您可以将输出分配给2个变量:

for i, row in df_code1.iterrows():
    print (row)

或者选择元组的第二个值:

for row in df_code1.iterrows():
    print (row[1])

相关问题 更多 >