以下是一个示例代码,展示如何遍历两个数据框,并创建一个字典,其中一个数据框中的子字符串在第二个数据框(值)中找到:
import pandas as pd
# 创建两个示例数据框
df1 = pd.DataFrame({'col1': ['apple', 'banana', 'orange', 'grape']})
df2 = pd.DataFrame({'col2': ['I like apple', 'I love banana', 'I eat grapes']})
# 创建一个空字典
result_dict = {}
# 遍历df1中的每个子字符串
for index, row in df1.iterrows():
substring = row['col1']
# 在df2中查找包含该子字符串的行
match_rows = df2[df2['col2'].str.contains(substring)]
# 如果有匹配的行,将子字符串和匹配行的索引添加到字典中
if not match_rows.empty:
result_dict[substring] = list(match_rows.index)
# 打印结果字典
print(result_dict)
输出结果将为:
{'apple': [0], 'banana': [1], 'grape': [2]}
这表示在df2中,子字符串"apple"在索引0的行中找到,子字符串"banana"在索引1的行中找到,子字符串"grape"在索引2的行中找到。