【问题标题】:Find ia a strn column is in a list column in the same data frame and create a 3rd column with a value查找字符串列是否在同一数据框中的列表列中,并创建具有值的第三列
【发布时间】:2021-05-16 18:29:32
【问题描述】:

我有这个包含 2 列的数据框,“A 列”和“B 列”,A 列是一个字符串,B 列是一个列表:

A        B                               c
cat      | cat | elephant | gorilla |    YES
dog      | monkey | duck | giraffe |     NO
bird     | cow | bird | hamster |        YES

我想评估A列是否在B列中,如果是,则在这个新的C列中写“是”或“否”

我尝试了很多方法,最后一个是:

df_epl["Marketo LSC"] = df_epl["Data Entry Point"].isin("Entry Point List")

但它给了我这个错误:

在里面

raise TypeError(TypeError: only list-like objects are allowed to be passed to isin(), you passed a [str]

【问题讨论】:

    标签: python string list comparison operator-keyword


    【解决方案1】:

    试试这个

    import pandas as pd
    df = pd.read_csv('res.csv') #Your csv here
    C = []
    for i in range(0,len(df)):
      if df['A'][i] in df['B'][i]:
        C.append('YES')
      else:
        C.append('NO')
    df['C'] = C
    print(df)
    

    【讨论】:

    • 非常感谢,正如你所说的那样尝试过,但现在它给出了这个错误: if df['A'][i] in df['B'][i]: TypeError: 'float' 类型的参数不可迭代
    • 能否请您检查数据框中第二列的数据类型。如果上面的 msg 为真,那么第二列必须是 float 而不是 list。
    猜你喜欢
    • 1970-01-01
    • 2019-04-20
    • 2023-03-04
    • 2021-02-16
    • 2019-10-19
    • 2019-04-28
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多