проблема с вашим кодом в том, что он ищет любой шаблон, в котором у вас есть ди git [0-9], за которым следует 8. Что вы хотите иметь, это
df['Column_03'] = df.apply(lambda x: 'FINDING'
if re.match(r'^8', x['Column_01'])
else np.NaN, axis = 1)
, который проверит что 8 это первый символ. ^
означает начало строки, а затем вы можете просто поставить 8.
, как @ Ch3steR сказал, что вы также можете использовать str.startswith('8')
Весь пример
import re
import numpy as np
import pandas as pd
df = pd.DataFrame({'Column_01': ['00001RX', '8254TX sensor', '8Actuador', '8 Sensor'],
'Column_02': ['AAA', 'BBB', 'CCC', 'DDD']})
df['Column_03'] = df.apply(lambda x: 'FINDING'
if re.match(r'^8', x['Column_01'])
else np.NaN, axis = 1)
print(df)
>>>
Column_01 Column_02 Column_03
0 00001RX AAA NaN
1 8254TX sensor BBB FINDING
2 8Actuador CCC FINDING
3 8 Sensor DDD FINDING