【发布时间】:2020-01-08 12:47:36
【问题描述】:
示例数据框:
>>> df
color
0 ['Light_Blue','Green','Dark_Blue']
1 ['Sky_Blue','Black','White', 'Yellow','Gray']
2 ['White','Jet_Blue','Pink', 'Tan','Brown', 'Purple']
尝试使用正则表达式:
使用以下,它保留了我期待克服的空值。
>>> df['color'].str.replace(r'\w+_Blue\b', '')
0 ['','Green','']
1 ['','Black','White', 'Yellow','Gray']
2 ['White','','Pink', 'Tan','Brown', 'Purple']
Name: color, dtype: object
期望:
color
[Green]
[Black, White, Yellow, Gray]
[White, Pink, Tan, Brown, Purple]
我的问题是我们如何使用regex 方法实现这一目标。
注意:这个帖子有一个答案,使用链接here的其他方法。
【问题讨论】:
-
str适用于字符串,不适用于一系列列表 -
这不是stackoverflow.com/questions/57511904/…的骗子吗?您不应该寻找其他技巧来做到这一点,这是正确的方法
-
你应该链接最后一个帖子,这样你就不会得到重复的答案。无论哪种方式,我和 yatu 提供的是更好的方法,我不会费心寻找使用正则表达式的技巧
-
文给了你一个使用正则表达式的解决方案,那个有什么问题?
-
文的解决方案只适用于pandas 0.25版本不兼容0.22。
标签: python regex python-3.x pandas numpy