如何将带有无效字符(重音)的 Pandas 数据框与数组匹配? [复制]
Posted
技术标签:
【中文标题】如何将带有无效字符(重音)的 Pandas 数据框与数组匹配? [复制]【英文标题】:How can I match a Pandas Dataframe with invalid characters (accents) to an array? [duplicate] 【发布时间】:2017-05-17 01:59:41 【问题描述】:我一直在尝试在 Python 3 中使用 Pandas Dataframe 来查找与 CSV 文件中的名称匹配的特定 ID。我正在阅读的 API 为我提供了 António 的名称以及其他名称,我需要它在名为“first”的列中使用重音。我有一系列名字,不一定有我需要匹配的所有口音。这个程序似乎适用于我尝试的每个名称,除了重音字符具有不同值的名称。
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
【问题讨论】:
你的缩进有一些挑战。 你是说你想匹配带或不带重音的名字吗? CSV 中的 playerData 数据框有重音字。数组中充满了不带重音的单词,我需要它们匹配。 【参考方案1】:如果您想在不使用变音符号的情况下进行比较,请参阅之前的 SO 帖子 here:
Unidecode 是这个问题的正确答案。它将任何 unicode 字符串转译为最接近的 ascii 文本表示形式。
【讨论】:
以上是关于如何将带有无效字符(重音)的 Pandas 数据框与数组匹配? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用带有无效字符的 Net::FTP gettextfile (ASCII-8BIT vs UTF-8)
如何将带有元组键的 python 字典转换为 pandas 多索引数据框?