如何从数据帧中的一列中剪切子字符串,并与另一列中的字符串连接?

时间:2019-10-15 08:07:27

标签: python pandas

因此,我拥有的表如下,“ final”列是我要获取的内容:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input name="input_2" id="input_email" type="text" value="" placeholder="Email Address">
<div class="emailaddress">test@test.com</div>

现在,col1可以具有任何类型的值。我想根据此正则表达式条件-r'[a-z,A-Z,“>”]进行提取。我可以使用numpy.where()和如何做到吗?

2 个答案:

答案 0 :(得分:0)

使用Series.str.extract

df['final'] = df['col2'].astype(str) + df['col1'].str.extract(r'([a-zA-Z>]+)', expand=False)
print (df)
    col1  col2  final
0   56in     5    5in
1  78c>t    10  10c>t

如果需要所有不带数字的值:

df['final'] = df['col2'].astype(str) + df['col1'].str.extract(r'(\D+)', expand=False)
print (df)
    col1  col2  final
0   56in     5    5in
1  78c>t    10  10c>t

答案 1 :(得分:0)

使用re.searchpandas.DataFrame.apply,请尝试以下代码:

df['final'] = df.apply(lambda row: str(row.col2) + re.search(r'([a-zA-Z\.>]+)', row.col1).group(), axis=1)

并给出:

col1   col2  final
56in   5      5in
78c>t  10    10c>t