python - 比较两个数据框列的匹配百分比
问题描述
我想将一列的数据框与另一列的多列数据框进行比较,并返回具有最大匹配百分比的列的标题。
我无法在熊猫中找到任何匹配功能。第一个数据框第一列:
cars
----
swift
maruti
wagonor
hyundai
jeep
第一个数据框第二列:
bikes
-----
RE
Ninja
Bajaj
pulsar
一列数据框:
words
---------
swift
RE
maruti
waganor
hyundai
jeep
bajaj
期望的输出:
100% match header - cars
解决方案
尝试使用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 和单词列表中的字符串小写以避免任何大小写问题。
推荐阅读
- python - 部分付款后如何将发票标记为已付款
- javascript - 在不调用 click 命令的情况下使用 Cypress 单击按钮?
- c++ - 用其他变量打印 c++ 变量会改变值
- reactjs - React Redux,来自 reducer 的值在 console.log 上显示为 undefined
- python - 使用正则表达式提取找到第二个匹配项
- python - 使用来自具有特定列值的另一个数据框的行创建一个新的数据框
- c# - 如何使用 MessageWebSocket 发送 ping 以保持与服务器的连接
- json - 动态键值的json解析中的颤振问题
- javascript - Javascript仅操作多个组件中的一个
- google-apps-script - 未找到脚本函数:doGet (AGAIN !!! )