2017-06-21 15 views
1

に変換し、定義済みの辞書を使用して変換したい場合はどうしますか? 入力:辞書を使用して配列を

my_dict = {1 : 'J',2:'F', 3:'M',4: 'A',5: 'M',6 : 'J',7:'J', 8:'A',9: 'S',10: '0',11 : 'N',12:'D'} 
x=np.array(2,6,8,1,.....) 

出力:

y=("F","J","A","J",.....) 

我々はこの試みている:あなたがここにnumpyのを使用しているのはなぜ

my_dict = {1 : 'J',2:'F', 3:'M',4: 'A',5: 'M',6 : 'J',7:'J', 8:'A',9: 'S',10: '0',11 : 'N',12:'D'} 
a = np.empty(len(x)) 
for i in range(0,len(x)): 
    b=my_dict[x[i,0]] 
    a[i,0]=b 

答えて

2

がされて私を超えていると、あなたのnumpyの初期化構文を手配しますので、ご注意ください間違っている。なぜnumpyの

import numpy as np 
my_dict = {1 : 'J',2:'F', 3:'M',4: 'A',5: 'M',6 : 'J',7:'J', 8:'A',9: 'S',10: '0',11 : 'N',12:'D'} 
x=np.array([2,6,8,1,10,11]) 

[my_dict[i] for i in x] 
0

いけない知っているが、このコードは動作します:

my_dict = {1 : 'J',2:'F', 3:'M',4: 'A',5: 'M',6 : 'J',7:'J', 8:'A',9: 'S',10: '0',11 : 'N',12:'D'} 
x=[2,6,8,1,10,11] 

result=[] 
for key in x: 
    result.append(my_dict[key]); 

print(result) 
しかし、あなたは、あなたのようなものを必要とするため
("F","J","A","J",.....) 

のような出力が言いました
関連する問題