检查数据框中的值是否包含字符串列表中的字符串

萨赫勒

我有以下代码来迭代数据框的行和列,因此检查它们的值是否包含特殊字符串,然后添加一个新列并对其进行分类。

mylist_bus = ["AAG","BOS"]
mylist_rail = ["BDW","FB"]


scenarios = [df_1,df_2]

keys = [df1,df2]


for key, scenario in zip(keys,scenarios):
    for i, row in scenario.iterrows():
 
        if scenario.loc[i, "ActivityType_" + key] == "leg":
            if scenario.loc[i, "lineId_" + key].str.contains('|'.join(mylist_bus):
                scenario.loc[i,"category_" + key] = "bus"

            if scenario.loc[i, "lineId_" + key].str.contains('|'.join(mylist_rail)):
                scenario.loc[i, "lineId_" + key] = "rail"
       
     elif scenario.loc[i, "ActivityType_" + key] == "car":
                scenario.loc[i,"category_" + key] = "car"
            
df1.head() 

但是,我有错误:

“str”对象没有属性“str”

排队

if scenario.loc[i, "lineId_" + key].str.contains('|'.join(mylist_bus)):

那我应该怎么检查呢?

例如,输入数据的一部分是:

在此处输入图片说明

我想要以下输出数据:

在此处输入图片说明

詹姆士

.contains()StringJava中的一种方法

在 Python 中,使用instr.find()in返回一个布尔值,而str.find()返回搜索词的索引,如果不存在返回 -1。抛出错误的行将变为:

if '|'.join(mylist_bus) in scenario.loc[i, "lineId_" + key]:

要么

if str.find(scenario.loc[i, "lineId_" + key], '|'.join(mylist_bus)) >= 0:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查数据框中的列是否包含字符串列表中的任何项目

Spring Expression Language检查字符串列表中是否包含字符串

检查特定的字符串是否包含在字符串列表中

如何检查一行是否包含字符串列表中的特定字符串?

Python:检查字符串列表中的字符串是否不包含变量

检查字符串是否不包含Python中子字符串列表中的任何子字符串

检查Python数据框是否在列表中包含字符串

在包含字符串列表的数据框列中搜索字符串并返回完整的数据框

如何检查字符串列表中的任何字符串是否是字符串的子字符串?

检查字段是否包含字符串列表中的值

检查文本是否包含字符串列表中的任何字符串项 c# linq

Dart检查字符串列表中的一部分字符串是否包含元素

检查字符串列表是否在熊猫数据框列中

检查C#中的字符串列表中是否存在字符串

检查字符串列表中的字符串是否在Pandas DataFrame列中

如何检查字符串列表中的字符串是否在pandas dataframe列中

检查字符串列表是否包含值

字符串是否包含PHP中的任何子字符串列表?

检查子字符串是否在字符串列表中?

如何检查字符串列表及其索引中是否存在特定字符串

检查字符串列表的所有元素是否在字符串中的最快方法

检查字符串列表中是否出现字符串的最短方法

使用powershell检查字符串列表中是否存在字符串

检查部分字符串列表是否在单个字符串中?

在检查列值是否包含作为列表中元素的字符串后,如何将列表中的元素分配给数据框列?(蟒蛇)

检查字符串中是否包含单词列表

检查字符串是否包含列表中包含禁果的任何字符串

检查字符串是否为字符串列表中的子字符串的最快方法

将字符串(从字符串列表中)分配给数据框名称pandas