[英]regex: change “white space” chracter and - character to null
import pandas as pd
import numpy as np
df = pd.DataFrame([
[-0.532681, 'foo sai', 0],
[1.490752, 'bar', 1],
[-1.387326, 'foo-', '-'],
[0.814772, 'baz', ' - '],
[-0.222552, ' -', ' -'],
[-1.176781, 'qux', '- '],
], columns='A B C'.split())
print(df)
print('-------------------------------')
print(df.replace(r'[^\w][\s]', np.nan, regex=True))
我如何替换任何whitespace
字符和-
用正则表达式?
用我的代码,返回这个:
A B C
0 -0.532681 foo sai 0
1 1.490752 bar 1
2 -1.387326 foo- -
3 0.814772 baz NaN
4 -0.222552 - NaN
5 -1.176781 qux NaN
but return that i expect is this:<br>
A B C
0 -0.532681 foo sai 0
1 1.490752 bar 1
2 -1.387326 foo- Nan
3 0.814772 baz NaN
4 -0.222552 Nan NaN
5 -1.176781 qux NaN
您可以使用
df.replace(r'^[\s-]+$', np.nan, regex=True)
输出:
A B C
0 -0.532681 foo sai 0.0
1 1.490752 bar 1.0
2 -1.387326 foo- NaN
3 0.814772 baz NaN
4 -0.222552 NaN NaN
5 -1.176781 qux NaN
^[\\s-]+$
模式匹配
^
- 字符串的开始[\\s-]+
- 一个或多个空格或-
字符$
- 字符串的结尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.