我想使用python实现数据的匹配,具体疑惑如下:我有2个DataFrame,第一个是df1,里面只有name1一列数据如下;第二个是df2,里面有两列数据,分别是name2和value。我现在想根据两个DataFrame的name进行匹配,但df1的name1中的元素很多只是df2的name2中元素字符的一部分,如name1中的"大全"对应name2中的"张大全"、name1中的"小张"对应name2中的"小张同学"等等,想实现的匹配效果如res这个DataFrame所示。我知道可以做循环实现这个目的,但问题是df1和df2的数据量都很大,逐一遍历太费时间,想请问大家有没有快捷的方法?
import pandas as pd
df1 = pd.DataFrame({"name1":['大全','小张','小李','王','慧慧']})
df2 = pd.DataFrame({"name2":['张大全','来吗','小张同学','很多很多','没有小李','数量很大','王二狗','三儿'],"value":['23','12','04','03','07','33','25','61']})
res = pd.DataFrame({"name1":['大全','小张','小李','王'],"name2":['张大全','小张同学','没有小李','王二狗',],"value":['23','04','07','25',]})