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

从两个数据帧中获取匹配字符串的索引

,可以通过以下步骤实现:

  1. 导入必要的库和模块:
代码语言:txt
复制
import pandas as pd
import numpy as np
  1. 创建两个数据帧(DataFrame):
代码语言:txt
复制
df1 = pd.DataFrame({'Column1': ['apple', 'banana', 'orange', 'grape'],
                    'Column2': ['cat', 'dog', 'elephant', 'monkey']})

df2 = pd.DataFrame({'Column3': ['This is an apple', 'I like bananas', 'Orange juice', 'Grapes are tasty'],
                    'Column4': ['apple', 'banana', 'orange', 'grape']})
  1. 使用字符串匹配函数str.contains()结合布尔索引(Boolean Indexing)来获取匹配字符串的行索引:
代码语言:txt
复制
matching_indices = df2[df2['Column3'].str.contains('|'.join(df1['Column1']))].index

解析:

  • df2['Column3'].str.contains()用于判断df2Column3列中是否包含df1Column1列中的任何一个字符串。
  • '|'.join(df1['Column1'])用于将df1Column1列中的字符串连接成一个正则表达式的模式,使用|分隔。
  • df2[df2['Column3'].str.contains('|'.join(df1['Column1']))]会返回包含匹配字符串的行的数据帧df2
  • .index用于获取返回数据帧的行索引。
  1. 打印匹配字符串的行索引:
代码语言:txt
复制
print(matching_indices)

完整代码示例:

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

df1 = pd.DataFrame({'Column1': ['apple', 'banana', 'orange', 'grape'],
                    'Column2': ['cat', 'dog', 'elephant', 'monkey']})

df2 = pd.DataFrame({'Column3': ['This is an apple', 'I like bananas', 'Orange juice', 'Grapes are tasty'],
                    'Column4': ['apple', 'banana', 'orange', 'grape']})

matching_indices = df2[df2['Column3'].str.contains('|'.join(df1['Column1']))].index
print(matching_indices)

输出结果:

代码语言:txt
复制
Int64Index([0, 1, 2, 3], dtype='int64')

在这个示例中,我们创建了两个数据帧df1df2,其中df1包含了需要匹配的字符串列表,而df2包含了需要进行匹配的文本。通过使用字符串匹配函数str.contains(),我们将df1的字符串列表转换为正则表达式模式,并将其用于匹配df2的文本列。最终,我们获得了包含匹配字符串的行索引。

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

相关·内容

没有搜到相关的合辑

领券