首页 > 解决方案 > 比较两个数据框列的匹配百分比

问题描述

我想将一列的数据框与另一列的多列数据框进行比较,并返回具有最大匹配百分比的列的标题。

我无法在熊猫中找到任何匹配功能。第一个数据框第一列:

cars
----   
swift   
maruti   
wagonor  
hyundai  
jeep

第一个数据框第二列:

bikes
-----
RE
Ninja
Bajaj
pulsar

一列数据框:

words
---------
swift 
RE 
maruti
waganor
hyundai
jeep
bajaj

期望的输出:

100% match  header - cars

标签: pythonstringpandasdataframecompare

解决方案


尝试使用pandas DataFrame 的isin函数。假设 df 是您的第一个数据框,而 words 是一个列表:

In[1]: (df.isin(words).sum()/df.shape[0])*100
Out[1]:
cars     100.0
bikes     20.0
dtype: float64

您可能需要将 df 和单词列表中的字符串小写以避免任何大小写问题。


推荐阅读