首页
学习
活动
专区
工具
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

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

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

相关·内容

《利用Python进行数据分析·第2版》第7章 数据清洗和准备7.1 处理缺失数据7.2 数据转换7.3 字符串操作7.4 总结

在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载、清理、转换以及重塑。这些工作会占到分析师时间的80%或更多。有时,存储在文件和数据库中的数据的格式不适合某个特定的任务。许多研究者都选择使用通用编程语言(如Python、Perl、R或Java)或UNIX文本处理工具(如sed或awk)对数据格式进行专门处理。幸运的是,pandas和内置的Python标准库提供了一组高级的、灵活的、快速的工具,可以让你轻松地将数据规变为想要的格式。 如果你发现了一种本书或pandas库中没有的数据操作方式,请尽管

09
领券