擅长:python、mysql、java
<p>您可以尝试从查询中获取<code>Item_ID</code>和<code>Material_Name</code>作为元组,然后使用<code>[i[0] for i in matches]</code>或<code>[i[1] for i in matches]</code>应用适当的列。你知道吗</p>
<pre><code>def matcher(query):
matches = [(i['Item_ID'], i['Material_Name']) for i in df2[['Item_ID','Name']].to_dict('records') if any(q in i['Name'].lower() for q in df1['Name'].lower().split())]
if matches:
df1['Material_Name'].apply(','.join(map(str, [i[1] for i in matches])))
return ','.join(map(str, [i[0] for i in matches]))
else:
df1['Material_Name'].apply("NA")
return 'NA'
df1['Item_ID'] = df1['Name'].apply(matcher)
</code></pre>