首页 > 解决方案 > 为什么两个相似的函数在不同的 Python 中工作?

问题描述

我需要用':'符号分隔一个字符串,然后选择这个分隔字符串的左侧。这些功能运行良好,我得到了正确的输出。

df['title'].apply(lambda x: x.split(':')[0])
df['title'].str.split(':').str[0]

为什么此代码会出错

df['title'].split(':')[0]
AttributeError: 'Series' object has no attribute 'split'

标签: pythonpandas

解决方案


当您使用 df["column"] 时,您将获得一个系列对象,并且 split() 属性不适用于该类型的对象。使用df["column"].str时,您实际上是在访问系列的值,而 python 将它们标识为字符串,因此您可以在这些对象上执行字符串函数。


推荐阅读