对于pandas数据帧中的列,我希望删除紧跟在“gb”或“mb”之后的任何数字,或者删除中间有空格的所有数字。即删除字符串,如“500GB”和“500mb”
Column_To_Fix
0 coolblue 100gb
1 connector 500 mb for thing
2 5gb for user
3 load 800 mb
4 1000 add-on
5 20 gb
下面的函数仅适用于第0行和第2行,不确定如何添加图案的空间要求:
pat = '(^|\s)\d+(gb|mb)($|\s)'
df['Column_To_Fix'].str.lower().replace(pat, ' ', regex=True)
期望输出:
Column_To_Fix
0 coolblue
1 connector for thing
2 for user
3 load
4 1000 add-on
5
试试这个模式
如果你喜欢
series.replace
我假设文本是(没有行号):
期望的结果(保持适当的对齐和间距)是:
最后一行有一个空字符串。这可以通过用空字符串替换以下正则表达式的匹配项来实现(使用
re.sub
)Demo
相关问题 更多 >
编程相关推荐