我需要根据缺少两个字符的值创建一个新列。
Column1
a-b
c
d
e:f
需要成为:
Column1 Column2
a-b
c c
d d
e:f
答案 0 :(得分:2)
你需要使用extractall
提取所有alpha,然后我们使用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