要使用部分字符串 vlookup 并且使用 str.contains,可以使用 Pandas 库中的 DataFrame 和 Series 来实现。下面是一个示例代码:
import pandas as pd
# 创建一个示例 DataFrame
df1 = pd.DataFrame({'ID': [1, 2, 3, 4, 5],
'Name': ['John Smith', 'Jane Doe', 'Tom Johnson', 'Emily Green', 'Mike Brown']})
# 创建另一个示例 DataFrame
df2 = pd.DataFrame({'Search': ['Smith', 'Doe', 'Brown']})
# 使用 str.contains 进行部分字符串匹配
df2['Match'] = df2['Search'].str.contains('|'.join(df1['Name']))
# 使用 vlookup 进行匹配
df2['ID'] = df2['Search'].apply(lambda x: df1.loc[df1['Name'].str.contains(x), 'ID'].values[0] if df2['Match'].any() else '')
# 打印结果
print(df2)
这个示例代码中,首先创建了一个包含 ID 和 Name 的 DataFrame df1。然后创建了另一个只包含 Search 列的 DataFrame df2。接下来,使用 str.contains 来判断 df2 中的每个元素是否在 df1 的 Name 列中出现。将结果保存在新的列 Match 中。然后,使用 vlookup 的方式通过匹配 Name 来获取对应的 ID,并将结果保存在新的列 ID 中。最后,打印整个 df2 的结果。
请注意,这只是一个示例代码,实际情况中需要根据具体的需求和数据结构进行相应的调整。
下一篇:部分字符串的JUnit断言