Python Pandas使用另一列删除子字符串

Python Pandas使用另一列删除子字符串,第1张

Python Pandas使用另一列删除子字符串

这是一个比您目前的解决方案要快很多的解决方案,我不相信虽然不会更快

In [13]: import numpy as np         import pandas as pd         n = 1000         testing  = pd.Dataframe({'NAME':[         'FIRST', np.nan, 'NAME2', 'NAME3',          'NAME4', 'NAME5', 'NAME6']*n, 'FULL_NAME':['FIRST LAST', np.nan, 'FIRST  LAST', 'FIRST NAME3', 'FIRST NAME4 LAST', 'ANOTHER NAME', 'LAST NAME']*n})

这是一个很长的班轮,但它应该做您需要的

我可以想出的禁食解决方案是

replace
在另一个答案中提到的:

In [37]: %timeit testing ['NEW2'] = [e.replace(k, '') for e, k in zip(testing.FULL_NAME.astype('str'), testing.NAME.astype('str'))]100 loops, best of 3: 4.67 ms per loop

原始答案:

In [14]: %timeit testing ['NEW'] = [''.join(str(e).split(k)) for e, k in zip(testing.FULL_NAME.astype('str'), testing.NAME.astype('str'))]100 loops, best of 3: 7.24 ms per loop

与您当前的解决方案相比:

In [16]: %timeit testing['NEW1'] = testing.apply(address_remove, axis=1)10 loops, best of 3: 166 ms per loop

这些为您提供与当前解决方案相同的答案



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存