比较两个连接的列,并将其中一个列的缺失项附加到另一个列



我需要比较两列中的国家代码,这两列都在单个单元格中存储多个值,一个是逗号分隔的字符串,另一个是Python列表。

tbody> <<tr>
A列 B列
BB, CC(AA、BB)
AA、BB(AA、BB)

算出来了,想分享一下分辨率

def func(string, codes): # e.g. string='AA|CC', codes=['AA', 'BB'] >> return ['BB']
missing_codes = []
for c in codes:
if c not in string:
missing_codes.append(c)
return missing_codes

接下来,应用并广播该函数,返回一系列缺失的代码。

missing_codes = pd.concat([df['Column A'], df['Column B']], axis=1).apply(lambda x:func(x['Column A'], x['Column B']), axis=1)

最后,将序列连接到列A

df['Column C'] = (df['Column A'] + ',' + missing_codes.apply(lambda x:','.join(x))).str.strip(',')

相关内容

  • 没有找到相关文章