Вам нужно извлечь всю альфу, используя extractall
, тогда мы используем str.len()
, чтобы получить условие, когда оно равно 1
df['Column2']=df.Column1.loc[df.Column1.str.extractall('(\w+)').sum(level=[0])[0].str.len()==1]
df
Out[472]:
Column1 Column2
0 a-b NaN
1 c c
2 d d
3 e:f NaN
Обновление: на основе вашего комментария вам нужно contains
df['Column2']=df.Column1[~df.Column1.str.contains(':|-')]
df
Out[513]:
Column1 Column2
0 a-b NaN
1 c c
2 d d
3 e:f NaN