使用iterrows循环时出错

2024-03-28 20:38:26 发布

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

我有一个包含两列的数据帧,我想创建一个第三列,根据列a中的值是否包含在列B中的值,为每行返回True或False。你知道吗

这是我的密码:

C = []

for index, row in df.iterrows():
        if row['A'][index] in row['B'][index]:
                C[index] = True
        else:
                C[index] = False

我得到以下错误:

1) TypeError: 'float' object is not subscriptable
2) IndexError: list assignment index out of range

如何解决这些错误?你知道吗


Tags: 数据infalsetrue密码dfforindex
1条回答
网友
1楼 · 发布于 2024-03-28 20:38:26

我认为问题是第['A']行或第['B']行的某些值包含浮点值。这就是为什么当你得到那个浮点值时你不能给它下标。否则就像[float][index],这就是产生错误的原因。您在那里需要一个字符串值吗?可能不是所有值在数据帧中都具有相同的数据类型。你知道吗

第二,索引是行的,我不知道你为什么这样用它。为了得到更多的澄清,我需要看一下这些数据,但是看起来可能的情况是,即使您得到了行['a']的字符串或数组值(可以遍历),索引也太大了。对于前-

row['A'] = "hello"
a  = row['A'][10]

会给你索引错误。你知道吗

相关问题 更多 >