首页 > 解决方案 > 编辑熊猫列中的值-我的方法不起作用

问题描述

在过去的几个小时里,我一直在搜索 SO,并且尝试了好几次,但都没有高兴地做一些非常简单的事情。我的数据框中有一列如下所示:

Name
AEMULUS [S]
AIM
ANCOMLB [S]
APPASIA [S]
ASDION [S]
ASIAPLY [S]

我只想删除“[S]”

这是我为删除讨厌的“[S]”而编写的函数

def column_fix(df):
"""removes '[s]' from name column"""
    df.Name.str.split()[0]

    return df

标签: python-3.xpandas

解决方案


你的方法几乎奏效了。无需将其包装到函数中。

假设您只是想删除空格后的任何内容,您可以这样做:

df['Name'] = df['Name'].str.split(expand=True)[0]

你的结果:

>>> df['Name']
0    AEMULUS
1        AIM
2    ANCOMLB
3    APPASIA
4     ASDION
5    ASIAPLY
Name: Name, dtype: object

对于更通用的方法,要简单地删除空格后跟方括号中的字母的所有实例,请使用带有 的正则表达式replace

df['Name'].replace(r'\s\[\w\]', '', regex=True, inplace=True)

推荐阅读