How can I match a Pandas Dataframe with invalid characters (accents) to an array?
本问题已经有最佳答案,请猛点这里访问。
我一直在尝试使用python 3中的pandas数据框来查找与csv文件中的名称匹配的特定ID。我正在阅读的API给了我一个名字Ant_nio,以及其他名字,我需要它的方式,在一个名为"First"的列中使用重音。我有一系列的名字,不一定有所有的口音我需要匹配。这个程序似乎适用于我尝试的每个名称,除了那些对重音字符有不同值的名称。
1 2 3 4 5 6 7 8 9 10 11 | import pandas as pd nameArray=[Antonio,Matt,Mark,Raul] playersUrl = 'https://www.FakeSite.com/players' playerData = pd.read_csv(playersUrl, names=["PLAYERID","FIRSTNAME"] for first, playerid in zip(playerData["FIRSTNAME"],playerData["PLAYERID"]): for i in len(nameArray): testName = nameArray[i] if first == testName: return playerid |
如果要在不带音调符号的情况下进行比较,请参阅上一个so post here:
Unidecode is the correct answer for this. It transliterates any unicode string into the closest possible representation in ascii text.