如何根据Numpy数组的内容替换Numpy数组的特定条目

时间:2013-06-16 19:18:49

标签: python numpy

因此,假设我有一个由ndarrays组成的简单矩阵(只是部分数据可能如何的示例):

import numpy as np
a = np.asarray([['1.0', 'Miami'],
   ['2.0', 'Boston'],
   ['1.4', 'Miami']]) 

我想在这个复杂的数据集中进行数据分析;) - 我想将0中的'Miami'和1中的Boston变换为使用真正精美的ML算法。在Python中实现这一目标的好方法是什么。 (我不是要求迭代和使用字典/ if句子替换条目的显而易见的一个)但更多的是如果有更好的方法使用Numpy或本机Python来做到这一点。

1 个答案:

答案 0 :(得分:2)

pandas是一个很好的工具。
首先将数组转换为DataFrame:

In [11]: import pandas as pd

In [12]: df = pd.DataFrame(a, columns=['value', 'city'])
来自城市列的

然后replace条目:

In [13]: df.city = df.city.replace({'Miami': 0, 'Boston': 1})

In [14]: df
Out[14]:
  value city
0   1.0    0
1   2.0    1
2   1.4    0