python - 将 lambda 正则表达式应用于 pandas 数据帧并获得正确的结果,但被 [] 包围
问题描述
我正在尝试使用 lambda 和正则表达式从熊猫数据框中的字符串中提取文本,我有正则表达式,可以用正确的数据填充新列,但它被 [] 包围?
构建数据框的代码:
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)
将正则表达式应用于数据框中的每一行并生成并使用结果填充新列的代码:
df_carTypes['Car Class Code'] = df_carTypes['Car Class Description'].apply(lambda x: re.findall(r'^\w{1,2}',x))
结果:
我根据需要得到一个具有正确结果的新列,但 [ ] 围绕输出,例如 [A]
有人可以帮忙吗?
抱歉,我无法更好地格式化...
解决方案
这是由于re.findall()
返回列表的结果。您可以使用re.search()
and.group()
返回一个字符串结果。
df_carTypes['Car Class Code'] = df_carTypes['Car Class Description'].apply(lambda x: re.search(r'^\w{1,2}',x).group())
结果:
Car Class Description Car Class Code
0 A - ECAR - Economy A
1 C - ICAR - Intermediate C
2 D - DCAR - Full Size D
3 E - FFAR - Large SUV - 5 Seater E
4 E1 - GFAR - Large SUV - 7 Seater E1
推荐阅读
- javascript - 如何将 javascript 动画添加到 .svg 图像?
- node.js - 成功时触发天蓝色功能失败警报
- php - 使用查询字符串和重定向清除 WooCommerce 购物车
- interrupt - 为什么 atmega32 的中断 INT2 不起作用?
- macos - r8Unorm 纹理的正确混合模式
- amazon-web-services - AWS Glue 脚本,未找到分隔符错误
- javascript - 每当表格行插入到 html 表格中时,都会收到声音通知
- javascript - 更好的方法来包装特定的 div 词?
- linq - 如何在 linq .net core 3.1 中加入两个表
- r - 在 for 循环中添加 geom_*