我试图根据列表列的值创建一个新列。如果列值包含特定字符串,如high,HIGH,Important等,则新列应包含High/Important值
id specification
123 ['high', 'Important', 'pilot']
234 ['HIGH', 'Important', 'Baby']
543 ['important']
542 ['week']
857 ['new', 'IMPORTANT']
123 ['super_high' 'test']
字符串
我期望的new_col是
id specification new_col
123 ['high', 'Important', 'pilot'] High/Important
234 ['HIGH', 'Important', 'Baby'] High/Important
543 ['important'] High/Important
542 ['week']
857 ['new', 'IMPORTANT'] High/Important
123 ['super_high' 'test'] High/Important
型
由于列'specification'包含列表值。str.contains()将不起作用。我们有什么方法可以在pandas中实现
2条答案
按热度按时间9jyewag01#
要匹配完整的单词,请使用列表解析,并在
set
中搜索:字符串
输出量:
型
要匹配子字符串,请执行以下操作:
型
或者使用正则表达式匹配:
型
输出量:
型
使用的输入:
型
kgqe7b3p2#
或者,考虑使用helper函数和
apply
创建一个新列。字符串
输出量:
型