将 python 字典应用于 CSV 文件的列

Applying python dictionary to column of a CSV file

我有一个 CSV 文件,其中包含一列用户不友好的数据。我需要将这些数据转化为有意义的东西。简单的 find/replace 看起来很笨重,因为我要翻译的可能组合有几十种甚至数百种。

例如:BLK = Black 或 MNT TP = Mountain Top

有几十种甚至数百种可能的翻译 - 我在 CSV 中已经有很多翻译 table。问题是如何使用该字典更改另一个 CSV table 中的值。同样重要的是要注意,这将(最终)需要每隔几分钟自行 运行 - 而不仅仅是一次性翻译。

如果您能更详细地描述您正在处理的数据是什么,那就太好了。不过我会尽力猜测。

假设您有一个 CSV 文件,您使用 pandas 将其读入名为 df 的数据框,以及名为 col 的“用户不友好”列。 要替换列 col 中的所有值,首先,您需要一个包含所有键(原始文本)和值(新文本)的字典:

my_dict = {"BLK": "Black", "MNT TP": Mountain Top,...}

然后,将字典映射到列:

df["col"] = df["col"].map(lambda x: my_dict.get(x, x))

如果某个键出现在字典中,则将其替换为字典中对应的新值,否则,保持原值。