【发布时间】:2015-03-28 18:23:05
【问题描述】:
我有一个 1000 * 1000 的 numpy 数组,其中包含 100 万个值,创建如下:
>>import numpy as np
>>data = np.loadtxt('space_data.txt')
>> print (data)
>>[[ 13. 15. 15. ..., 15. 15. 16.]
[ 14. 13. 14. ..., 13. 15. 16.]
[ 16. 13. 13. ..., 13. 15. 17.]
...,
[ 14. 15. 14. ..., 14. 14. 13.]
[ 15. 15. 16. ..., 16. 15. 14.]
[ 14. 13. 16. ..., 16. 16. 16.]]
我有另一个 numpy 数组,它有 2 列,如下所示:
>> print(key)
>>[[ 10., S],
[ 11., S],
[ 12., S],
[ 13., M],
[ 14., L],
[ 15., S],
[ 16., S],
...,
[ 92., XL],
[ 93., M],
[ 94., XL],
[ 95., S]]
我基本上想要的是将数据数组的每个元素替换为键数组第二列中的相应元素,如下所示..
>> print(data)
>>[[ M S S ..., S S S]
[ L M L ..., M S S]
[ S M M ..., M S XL]
...,
[ L S L ..., L L M]
[ S S S ..., S S L]
[ L M S ..., S S S]]
【问题讨论】:
-
请更正
data的代码 sn-p,因为它是错误的(缺少逗号)。这可能会使该数据类型的其他用户感到困惑。 -
是 S、M、L ... 变量名还是字符串?
-
好吧,如果 data 是一个 numpy 浮点数组,你不能用字符串替换它的元素,所以你需要创建另一个列表
-
@ha9u63ar..我直接从终端复制了这个..我打印了数组并且没有逗号..
-
@Amistad 同时发布 NumPy 数组的 repr 版本:
print(repr(data))