pandas - 列包含第 4 列

标签 pandas

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

df = pd.DataFrame({'A': ["me 123", "me-123", "1234", "me 12", "123 me", "6 you 123-me"],
                   'B': [123,       123,      123,    123,     6,        123]})

我几乎可以使用 extract 做到这一点

df['C'] = df.A.str.extract('(\d+)', expand=False).astype(float).eq(df.B,0).astype(int)

              A    B  C
0        me 123  123  1
1        me-123  123  1
2          1234  123  0
3         me 12  123  0
4        123 me    6  0
5  6 you 123-me  123  0

但是在底行它没有看到数字 123 因为数字 6。我想得到

              A    B  C
0        me 123  123  1
1        me-123  123  1
2          1234  123  0
3         me 12  123  0
4        123 me    6  0
5  6 you 123-me  123  1

最佳答案

使用findall

[y in x for x , y in zip(df.A.str.findall('(\d+)'),df.B.astype(str))]
Out[733]: [True, True, False, False, False, True]

关于pandas - 列包含第 4 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56276574/

相关文章:

python - 如何获取仅属于我们在左连接中引入的右表的列名

python - 如何使用并发将数据帧附加到空数据帧

python - Pandas :查找并打印列中的所有 float

python - Pandas dataframe.dot 划分方法

python - 从 Pandas 的分组数据中获取最大的 n 个项目

Python经验分布函数(ecdf)实现

python - 将时间戳字符串转换为日期时间格式

python - 将函数应用于行,将字典解压缩为多列

python - 如何连接 pandas 中的 DatetimeIndex 对象?

string - 多列上的 pandas 数据框 sort_values 并不总是有效