我正在分析一个熊猫数据框架,其中包括不同食物配方的标题。我的目标是根据标题中的关键字为菜谱标题创建类别
例如: “麻辣面汤”属于汤类, “酸奶油苹果派”属于派类
我使用以下脚本为每个类别创建数据帧
df[df['title'].str.contains('Soup', na=False, case=False)]
df[df['title'].str.contains('Pie', na=False, case=False)]
我想排除字符串中包含关键字的特定配方。想到的第一个例子是将“煎饼”从蛋糕类中排除。虽然很多人会说煎饼是蛋糕,但我不是为了做这个练习:)
一个非最优的解决方案是使用“蛋糕”作为子字符串,但是这将排除缺点,我想包括这些缺点
在使用str.contains()方法时,有没有排除特定子字符串的方法?根据文档,似乎没有内置的方式(我可能错了)
还可以包括排除值的条件。实现将是这样的。不过,它的实现成本有点高
其输出将为:
我能想到的一件事是用
''
替换该特定字符串如果您有一个要排除的单词列表(如上图所示),那么这种方法将工作得更好,因为您不需要控制
cake
在单词中的相对位置或者,如果只有一个
'pancake'
字,则使用否定查找来简化语法:测试数据:
输出:
相关问题 更多 >
编程相关推荐