这个问题是基于我问的另一个问题,我没有完全涵盖这个问题:Pandas - check if a string column contains a pair of strings
这是问题的修改版本。在
我有两个数据帧:
df1 = pd.DataFrame({'consumption':['squirrel ate apple', 'monkey likes apple',
'monkey banana gets', 'badger gets banana', 'giraffe eats grass', 'badger apple loves', 'elephant is huge', 'elephant eats banana tree', 'squirrel digs in grass']})
df2 = pd.DataFrame({'food':['apple', 'apple', 'banana', 'banana'],
'creature':['squirrel', 'badger', 'monkey', 'elephant']})
目标是测试食品食品:df.生物df1.consumptions中存在对。在
在上述示例中,此测试的预期答案为:
^{pr2}$模式是:
松鼠吃了苹果=真的,因为松鼠和苹果是一对。 monkey likes apple=错误,因为monkey和apple不是我们要找的一对。在
我在考虑构建一个包含成对值的数据帧字典,其中每个数据帧对应于一种生物,例如松鼠、猴子等,然后使用np.哪里创建布尔表达式并执行结构包含. 在
不知道这是否是最简单的方法。在
这是我用理解和
zip
注意,这将检查
df1
中的子字符串这是@MaxU所做事情的
^{pr2}$pandas
版本。尊重他所做的。。。太棒了!在原始测试
考虑这种矢量化方法:
结果:
^{pr2}$说明:
更新:
相关问题 更多 >
编程相关推荐