Python 搜索字符串包含字符
Python search string contains characters
我有以下数据:
col1
086945159
549615853
589ac2546
GED456231
F56hy8W12
我想知道 col
是否有非数值和 return.
col1 col2
086945159 086945159
549615853 549615853
589ac2546 Nan
GED456231 Nan
F56hy8W12 Nan
111111111 Nan
222222222 Nan
我用re.search(r'[^0-9]+', str)
找的。但是,我如何在 apply()
中使用它,因为如果 col
中的值具有相同的数字,如 11111111
和 222222222
,这应该 return Nan
.
您可以将 mask
与条件模式一起使用:
# first part to match any non-digit
# second part to match identical characters
df['col2'] = df.col1.mask(df.col1.str.contains(r'\D|^(.)*$'))
输出:
col1 col2
0 086945159 086945159
1 549615853 549615853
2 589ac2546 NaN
3 GED456231 NaN
4 F56hy8W12 NaN
5 111111111 NaN
6 222222222 NaN
我有以下数据:
col1
086945159
549615853
589ac2546
GED456231
F56hy8W12
我想知道 col
是否有非数值和 return.
col1 col2
086945159 086945159
549615853 549615853
589ac2546 Nan
GED456231 Nan
F56hy8W12 Nan
111111111 Nan
222222222 Nan
我用re.search(r'[^0-9]+', str)
找的。但是,我如何在 apply()
中使用它,因为如果 col
中的值具有相同的数字,如 11111111
和 222222222
,这应该 return Nan
.
您可以将 mask
与条件模式一起使用:
# first part to match any non-digit
# second part to match identical characters
df['col2'] = df.col1.mask(df.col1.str.contains(r'\D|^(.)*$'))
输出:
col1 col2
0 086945159 086945159
1 549615853 549615853
2 589ac2546 NaN
3 GED456231 NaN
4 F56hy8W12 NaN
5 111111111 NaN
6 222222222 NaN