为了账号安全,请及时绑定邮箱和手机立即绑定

创建操作不同字符串清理操作的函数

创建操作不同字符串清理操作的函数

30秒到达战场 2022-09-20 15:51:36
我构建了一个执行多个清理操作的函数,但是当我在对象列上运行它时,我得到属性错误:'str'对象没有属性'str'错误。为什么?news = {'Text':['bNikeb invests in shoes', 'bAdidasb invests in t-shirts', 'dog drank water'], 'Source':['NYT', 'WP', 'Guardian']}news_df = pd.DataFrame(news)def string_cleaner(x):    x = x.str.strip()    x = x.str.replace('.', '')    x = x.str.replace(' ', '')news_df['clean'] = news_df['Text'].apply(string_cleaner)
查看完整描述

1 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

news = {'Text':['bNikeb invests in shoes', 'bAdidasb invests in t-shirts', 'dog drank water'], 'Source':['NYT', 'WP', 'Guardian']}

news_df = pd.DataFrame(news)


def string_cleaner(x):

    x = x.strip()

    x = x.replace('.', '')

    x = x.replace(' ', '')

    return x


news_df['clean'] = news_df['Text'].apply(string_cleaner)

apply用于在 pandas 系列对象上应用函数,最终返回类型是从所应用函数的返回类型推断出来的。因此,您可以考虑一次一个值列表传递给一个函数以转换这些值,在您的情况下,您将发送一个字符串列表来清理每个字符串。


由于x是一个字符串,你正在应用的操作(条带,替换)直接工作,python字符串上没有.str操作。所以,它给出了一个错误。有一个 str 函数以这种方式用于 str(x) 将另一个 python 类型转换为字符串。


查看完整回答
反对 回复 2022-09-20
  • 1 回答
  • 0 关注
  • 64 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信