将lambda regex应用于pandas数据框,得到正确的结果,但却被[ ]包围。

我试图在pandas数据框中使用lambda和regex从字符串中提取文本,我的regex是正确的,可以用正确的数据填充一个新的列,但它被[]包围了?

建立数据框架的代码。

carTypes = {'Car Class Description' : ['A - ECAR - Economy',
            'C - ICAR - Intermediate',
            'D - DCAR - Full Size',
            'E - FFAR - Large SUV - 5 Seater',
            'E1 - GFAR - Large SUV - 7 Seater']}

df_carTypes = pd.DataFrame(carTypes)

代码应用regex到数据框架中的每一行 并生成并填充一个新的列与结果。

df_carTypes['Car Class Code'] = df_carTypes['Car Class Description'].apply(lambda x: re.findall(r'^\w{1,2}',x))

结果:

我得到了一个新的列,按照要求有正确的结果,但输出的周围是[ ],例如:[A]。

谁能协助一下?

对不起,我不能更好的格式化… …

解决方案:

因为 re.findall 返回一个字符串列表,其字符串化包含方括号。

使用pandas的小贴士:减少使用 apply 并对内置功能进行更多的探索,它们既方便又快捷。这里有一种方法,就是用 str.extract:

df_carTypes['Car Class Code'] = df_carTypes['Car Class Description'].str.extract('^(\w{1,2})')

给TA打赏
共{{data.count}}人
人已打赏
未分类

R中的字符串删除

2022-9-8 13:01:19

未分类

Api JSON 解码回复

2022-9-8 13:01:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索