我正在尝试向DF添加一列,具体取决于其他列的值是否包含列表中的任何字符串。
清单是:
services = [
"TELECOM",
"AYSA",
"PERSONAL"
]
到目前为止,我已经尝试过:
payments["category"] = "services" if payments["concept"].contains(service for service in services) else ""
和这个:
payments["category"] = payments["concept"].apply(lambda x: "services" if x.contains(service) for service in services) else ""
除了其他一些变化之外...我还看到了其他问题,但它们大多与相反的问题有关(检查列的值是否包含在列表中的字符串中)
我可以帮你!谢谢!!
您可以使用np.where
和str.contains
:
payments['category'] = np.where(payments['concept'].str.contains('|'.join(services)),
'services', '')
输出:
concept category
0 TELECOM services
1 AYSA services
2 PERSONAL services
3 other things
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句