转换为 numpy/pandas 的 ASCII 部分,然后再转换回来

Convert to ASCII portions of numpy/pandas then reconvert back

我有一个 numpy 或 pandas 数据框,其中包含大多数单元格的数值,另一方面有备用字符值(它们不是基于列的,所以我不能使用标签编码器)。我正在寻找一种方法来将这些可能在任何地方的稀疏字符值转换为它们的 ASCII 代码,以便将数组提供给深度学习模型。之后我需要知道哪些是被转换的,这样我就可以将它们重新转换回字符。任何想法将不胜感激!

示例值可以是第 1 行的 (1,2,f,5,3) 和第 k 行的 (7,k,1,j,9)。这在 numpy 数组或 pandas 数据框中。问题是如何将字母编码为 ascii 以获得数字,然后如何将它们解码回来?

一种可能的解决方案是使用 ord() and chr() 使用“表示该字符的 Unicode 代码点的整数”对字符进行编码和解码。

>>> df
  characters
0          f
1          k
>>> df["encoded"] = df["characters"].apply(ord)
>>> df["encoded"]
0    102
1    107
>>> df["decoded"] = df["encoded"].apply(chr)
>>> df["decoded"]
0    f
1    k