【问题标题】:Column contains column 1列包含第 1 列
【发布时间】:2019-09-22 03:24:59
【问题描述】:

我有一个数据框。我可以测试 (C) 在每一行上 (B) 列中的数字是否在字符串列 (A) 中。

df = pd.DataFrame({'A': ["me 1 23", "me", "123", "me 12", "12 me"],
                   'B': [123,        123,  123,      12,   12    ]})

df = df.dropna()
df['C']=df.A.str.contains(r'\b(?:{})\b'.format('|'.join(df.B.astype(str)))).astype(int)
print(df)

这给出了正确答案:

         A    B  C
0  me 1 23  123  0
1       me  123  0
2      123  123  1
3    me 12   12  1
4    12 me   12  1

但是当我更改第 1 行的数字 (B) 时,我在第 0 行得到了错误的答案 (C):

         A    B  C
0  me 1 23  123  1
1       me   23  0
2      123  123  1
3    me 12   12  1
4    12 me   12  1

【问题讨论】:

    标签: python pandas contains


    【解决方案1】:

    我觉得这是逐行检查

    [str(y) in x for x , y in zip(df.A,df.B)]
    Out[1308]: [False, False, True, True, True]
    

    【讨论】:

    猜你喜欢
    • 2016-04-15
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    相关资源
    最近更新 更多