比较游戏名python

2024-03-28 09:12:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python创建一个赔率匹配器,它使用pandas来比较游戏名称。我遇到的问题是,如果数据不是100%匹配,那么它将无法识别游戏名称。你知道吗

有没有一种有效的方法来匹配游戏名称?例如百分比匹配。模糊查找?我想不出一个可靠的方法来尽量减少错误。你知道如何通过Python实现这一点吗?你知道吗

          a              b           c           d    e
EC Bahia v Salvador U20 2.3 EC Bahia v Salvador 2.3 NaN     
EC Bahia v Salvador     2.3 EC Bahia v Salvador 2.3 Match   You could get the first word before v and after but….   
Bahai Samone v Salvator 2.3 EC Bahia v Salvador 2.3 Match   However this causes problem when the string was Ec FAHI (different) 

df1型

                      EW                          WE    DA  \
0                      k                           k     2   
1  EC Bahia Salvador U20  Clube Atletico Mineiro U20   2.3   
2             Moreirense                     Rio Ave  1.62   
3               EC Bahia                Salvadoa U20    14   
4               EC Bahia                    Salvador  4141   

    DD  
0  https://www.b1 
1  https://www.b1 
2  https://www.b1 
3  https://www.b1 
4  https://www.b1 

df2型

                AA            AB                AC    AD  \
0    Starting soon             k                 k  3.15   
1          In-Play  FC Nitra U19  Z Michalovce U19  9.60   
2          In-Play   Sevilla U19    NK Maribor U19   NaN   
3          In-Play    Moreirense           Rio Av   1.02   
4  Starting in 13'      EC Bahia          Salvador  1.07   

      AE  
0  https://www.be
1  https://www.be
2  https://www.be
3  https://www.be
4  https://www.be

期望值:

              AA   AB         AC             AD  \
0  Starting soon    k          k            3.15   
1  Starting in 13'  EC        Bahia         9.60   
1        In-Play  Moreirense  Rio Av        1.02   

              AE         EW        WE  \
0  https://www.b1     k v k         2   
1  https://www.b2   EC v Bahia      4141   
3  https://www.b3 Moreirense v Rio Av 1.02   

配方:

df1['EW'] = df1['EW'] + ' v ' + df1['EW']
df1['WE'] = df1['DA']
df1['DA'] = df1['DD']


df2['EW'] = df2['AB'] + ' v ' + df2['AC']


print('kk')

df3 = pd.merge(df2, df1, on='EW')

Tags: inhttpswwwbeb1df1df2starting
1条回答
网友
1楼 · 发布于 2024-03-28 09:12:04

您基本上是在问“在Python中进行字符串比较的所有方法是什么”,这是一个巨大的问题。你知道吗

一些真正的基本工作是设置字符串格式:

  • 使所有内容都小写(例如here
  • 删除标点符号(例如here
  • 也许可以去掉空格

一些更先进的东西是:

  • 模糊匹配(我喜欢fuzzywuzzy包)。你知道吗
  • 矢量化+余弦相似性(例如here

除此之外,你真的必须深入研究每一个问题。你知道吗

相关问题 更多 >