如何将带有无效字符(重音)的 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)

带有重音/拉丁字符的 JSON 请求

如何将带有元组键的 python 字典转换为 pandas 多索引数据框?

带有重音符号的 XML 字符编码问题

如何显示带有我使用 Dash 上传组件上传的文件的 pandas 数据框?

如何将 Pandas 数据框中的字符串转换为“日期”数据类型?