<p>似乎你总是有“a”、“b”、“c”、“d”、“e”。如果是这样的话,你为什么不使用熊猫数据帧而忘记编码器呢?你有点需要重写你使用的字典的键,所以它无论如何都会很混乱!在</p>
<pre><code>import pandas as pd
i = [
{u'a': 47502.125, u'b': 1580.5625, u'c': 45.3, u'd': 2.3, u'e': 0.45},
{u'b': 121, u'a': 1580.5625, u'c': 12, u'e': 62, u'd': 0.343},
{u'e': 12321, u'b': 4, u'd': 5434, u'c': 2.3, u'a': 0.1112}
]
# transform to data frame
df = pd.DataFrame(i)
print df
a b c d e
0 47502.1250 1580.5625 45.3 2.300 0.45
1 1580.5625 121.0000 12.0 0.343 62.00
2 0.1112 4.0000 2.3 5434.000 12321.00
# create a mapping between columns and encoders
mapping = dict((k, v) for k, v in enumerate(df.columns))
# rename columns
df.columns = range(len(df.columns))
# print your new input data
print df.to_dict(orient='records)
[{0: 47502.125, 1: 1580.5625, 2: 45.3, 3: 2.3, 4: 0.45},
{0: 1580.5625, 1: 121.0, 2: 12.0, 3: 0.343, 4: 62.0},
{0: 0.1112, 1: 4.0, 2: 2.3, 3: 5434.0, 4: 12321.0}]
# translate prediction
prediction = [3, 4, 1]
print [mapping[k] for k in prediction]
[u'd', u'e', u'b']
</code></pre>
<p>这不是直截了当的,但我想它会比使用编码器花费更少的时间:)</p>