当前位置: 首页 > 知识库问答 >
问题:

为什么在数据帧中的特定序列对象上使用str.contains()方法时,会出现错误[duplicate]

严誉
2023-03-14

在这里,我试图访问数据帧上的(LanguageWorkedWith)列,并在其中包含Python时对其进行过滤。

 df_18['LanguageWorkedWith'].apply(lambda x: x.str.contains('Python'))

但它一直产生这样的错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-66-9cb9d7ffdfb2> in <module>
----> 1 df_18['LanguageWorkedWith'].apply(lambda x: x.str.contains('Python'))

~\anaconda3\lib\site-packages\pandas\core\series.py in apply(self, func, convert_dtype, args, **kwds)
   3846             else:
   3847                 values = self.astype(object).values
-> 3848                 mapped = lib.map_infer(values, f, convert=convert_dtype)
   3849 
   3850         if len(mapped) and isinstance(mapped[0], Series):

pandas\_libs\lib.pyx in pandas._libs.lib.map_infer()

<ipython-input-66-9cb9d7ffdfb2> in <lambda>(x)
----> 1 df_18['LanguageWorkedWith'].apply(lambda x: x.str.contains('Python'))

AttributeError: 'str' object has no attribute 'str'

我以前在不同的列上使用过str.contains()方法,它很有效。我很高兴知道为什么它对一个人有效,对另一个人无效。

共有1个答案

晏华奥
2023-03-14

使用-

备选办法1

df['Col1'].apply(lambda x: 'Python' in x)

选择2

df_18['LanguageWorkedWith'].str.contains('Python')

选项2是一种更像熊猫的做事方式,比应用更快

 类似资料:
  • 我有以下问题。 在一个类中,我声明: 有趣的是:currentVuln。Published.ToString()。这工作很好。 Published是声明为可空的日期时间属性,其方式如下: 问题是,在前面的方法中,currentVuln的打印值。Published.ToString()类似于18/07/2014 00:00:00(时间也包含在日期中)。 我只想显示日期,不想显示时间,所以我尝试使用类

  • 问题内容: 我正在大学学习基础知识,并且希望对Eclipse中的以下错误有所帮助:“对于类型ShopCLI,未定义方法getCost()”& 这是我的代码 问题答案: 方法是在订单类中定义的,而不是在类中定义的。所以你的代码: 应该改为

  • 错误:第 1 行的解析错误:函数搜索(sour ^ 期望“字符串”、“数字”、“空”、“真”、“假”、“{”、“[”,得到“未定义” 代码:

  • 问题内容: 升级后,Mocha甚至无法运行简单的测试,这里是代码 我从这里拿了这段代码 我知道它现在引发异常 但是如何使其工作呢?我不明白。我有 现在如何以新的正确格式运行此代码? 问题答案: 只需放下 并替换为 您正在返回一个Promise,因此如错误消息中所述,调用done是多余的 在较旧的版本中,必须使用回调,以防出现类似的异步方法 现在,您可以选择返回诺言 但是同时使用两者会产生误导作用(

  • 我正在尝试序列化然后反序列化多个对象。我可以毫无问题地写入文件,但当选择反序列化选项时,我会得到以下堆栈跟踪。以前,我可以成功地序列化和反序列化一个对象。

  • 为什么即使在Java中使用close()方法,也会出现“Resource leak:”错误? 我把整个代码和注释放在哪里,在哪里得到错误信息,在哪里关闭Scanner方法。 我使用Eclipse,Java13。 这是密码。 甚至当我投入的时候。close()在try块中,仍然显示相同的错误。 即使我把in.close()放在后面,它仍然显示同样的错误。 为什么会这样?