Python:比较列时,“'float'对象没有属性'isin'”

时间:2019-02-21 22:19:40

标签: python python-3.x pandas

我有一个看起来像这样的数据框:

enter image description here

现在,我正在比较两列(即投诉和表扬)是否具有相等的值:我编写了一个函数:

def col_comp(x):
    return x['Complaint'].isin(x['Compliment'])

当我将此功能应用于数据框时,即

df.apply(col_comp,axis=1)

我收到一条错误消息

  

AttributeError :(““ float”对象没有属性“ isin””,发生   在索引0')

我在哪里犯错的任何建议。

1 个答案:

答案 0 :(得分:4)

isin需要迭代。您正在为单个数据点(浮点数)提供applycol_comp。您应该在函数==中使用col_comp,而不是isin。更好的是,您可以在一次调用中比较这些列:

df['Complaint'] == df['Compliment']