我有一个具有各种属性的体育游戏词典列表。这些列表中只有一项运动。所以我有一份篮球比赛清单,棒球比赛清单,等等
我想以相同的方式格式化所有的“游戏”值,以便相同的特定体育比赛(例如,斗铁者队vs LA Rams)都具有相同的字符串值。特定游戏的示例可以是"PIT Steelers vs LA Rams"
,但也可以格式化为"Pittsburgh Steelers vs Los Angeles Rams"
。我可能有多达7个字典在列表中为一个特定的游戏格式略有不同
我不能选择只使用球队名称或城市,因为在同一项运动中,可能会在NFL和NCAA这两个不同的联赛中,与那些特定的球队名称或城市进行相同的比赛
我想我会用最广泛的游戏名称作为关键。例如,我将使用"Pittsburgh Steelers vs Los Angeles Rams"
而不是"PIT Steelers vs LA Rams"
作为基线使用的键
是否有一种方法可以将这些其他匹配项与密钥进行比较,并说如果密钥中的字符串百分比超过X,则用密钥替换此字符串游戏?你会怎么做?我愿意接受所有建议
谢谢
编辑:下面是一个使用difflib的尝试。我生成了1000个随机游戏,导入excel并按比例排序。我们可以看出,这不是一个完美的适合
可以使用fuzzy wuzzy库替换字符串。制作一个团队的主列表,然后您可以使用fuzzy-wuzzy包来提取与其他字符串最相似的团队。但它并不完美,因为您需要测试不同的场景,例如
'CAR'
不会返回Carolina Panthers
,它将返回'Arizona Cardinals'
,并且'LVR'
返回了'Los Angels Rams'
。因此,你只需要支付,然后可能对于那些少数情况,只需要制定一些逻辑来找回正确的团队输出:
或者,如果你想做一个比较,看看他们有多相似
输出:
创建一个不包括城市的短团队名称列表,然后扫描标题以查找这些短名称。您应该在每个标题中找到两个简短的团队名称,然后可以使用它们将标题分组为独特的游戏
输出:
这并不能解决不同联赛中可能出现的球队名称冲突问题,但我怀疑作为预处理步骤,可能有更简单的策略来检测联赛
相关问题 更多 >
编程相关推荐