从此熊猫数据框中:
UIApplication.shared.open(NSURL(string: "tel://\(9999999999)") as URL)
df = pd.DataFrame({'a': ['foo_abc', 'bar_def', 'ghi'], 'b': ['foo', 'bar', 'yah']})
我想用正则表达式从 a b
0 foo_abc foo
1 bar_def bar
2 ghi yah
列的字符串中删除b
列中的字符串以产生
a
我如何用熊猫来做到这一点?
答案 0 :(得分:1)
在列表理解中将replace
与strip
一起使用:
df['c'] = [a.replace(b, '').strip('_') for a, b in zip(df['a'], df['b'])]
print (df)
a b c
0 foo_abc foo abc
1 bar_def bar def
2 ghi yah ghi
使用re.sub
的解决方案:
df['c'] = [re.sub('^({}_)'.format(b), '', a) for a, b in zip(df['a'], df['b'])]