我有一个数据框,有两列,字符串用逗号分隔。
我正在尝试快速高效的解决方案来计算三维列,以指示列A
中的任何分割字符串是否出现在列B
中。
例如:
df = pd.DataFrame({'A':['apple', 'cucamber', 'tomato,mellon', 'tomato,potato'],
'B':['apple,banana', 'pineapple', 'tomato juice', 'cheese,tomato,onion']})
结果应该是
A B C
apple apple,banana 1
cucamber pineapple 0
tomato,mellon tomato juice 0
tomato,potato cheese,tomato,onion 1
可能是>;1百万行。
如果这对速度至关重要,即使不拆分第二列也可以,只需从第二列的第一列搜索拆分的字符串即可
A B C
apple apple,banana 1
cucamber pineapple 0
tomato,mellon tomato juice 1
tomato,potato cheese,tomato,onion 1
谢谢你的帮助
lsit理解和
any
测试的一个想法,如果至少匹配一个字符串:编辑:
处理缺失值的一个可能解决方案是首先替换它们,如果它们之间不需要匹配,则用不同的值替换每个列
NaN
,如:相关问题 更多 >
编程相关推荐