首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取与另一列的pandas df列中的子字符串匹配的字符串?

要获取与另一列的pandas DataFrame(df)列中的子字符串匹配的字符串,可以使用str.contains()方法结合布尔索引来实现。

首先,假设我们有一个名为df的pandas DataFrame,其中包含两列:column1column2。我们想要获取column1中与column2中子字符串匹配的字符串。

以下是实现的步骤:

  1. 导入必要的库:
代码语言:txt
复制
import pandas as pd
  1. 创建一个示例DataFrame df
代码语言:txt
复制
data = {'column1': ['apple', 'banana', 'cat', 'dog', 'elephant'],
        'column2': ['app', 'na', 'ca', 'do', 'ant']}
df = pd.DataFrame(data)
  1. 使用str.contains()方法和布尔索引来获取匹配的字符串:
代码语言:txt
复制
matches = df[df['column1'].str.contains('|'.join(df['column2']))]

在这个例子中,str.contains()方法用于检查column1中的每个字符串是否包含column2中的任何一个子字符串。'|'.join(df['column2'])用于将column2中的所有子字符串连接成一个正则表达式模式,以便在str.contains()中使用。最后,通过将布尔索引应用于DataFrame df,我们可以获取与column2中的子字符串匹配的字符串。

  1. 打印匹配的结果:
代码语言:txt
复制
print(matches)

完整的代码如下所示:

代码语言:txt
复制
import pandas as pd

data = {'column1': ['apple', 'banana', 'cat', 'dog', 'elephant'],
        'column2': ['app', 'na', 'ca', 'do', 'ant']}
df = pd.DataFrame(data)

matches = df[df['column1'].str.contains('|'.join(df['column2']))]
print(matches)

这将输出以下结果:

代码语言:txt
复制
  column1 column2
0   apple     app
1  banana      na
3     dog      do
4 elephant     ant

对于以上的问题,腾讯云没有提供特定的产品或链接地址,因此无法提供相关推荐。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券