2012-01-09 182 views
1

如果我有以下矩陣:蟒蛇矩陣搜索

import numpy 

ar = numpy.array((('0','1','2','3'), ('1','a','b','b'), ('2','b','c','d')), str) 
print(ar) 

輸出:

[['0' '1' '2' '3'] 
['1' 'a' 'b' 'b'] 
['2' 'b' 'c' 'd']] 

而且我想在那裏的行和列滿足條件的值。標題行是列(可以是字符串),左側的第一列是所有行(可以是字符串)。所以如果我有'2'列和'2'行我會得到'C'。我不知道'c',但只有行和列的值。我會怎麼做?

回答

3

您可以使用numpy.where

In [7]: numpy.where(ar == 'c') 
Out[7]: (array([2]), array([2])) 

和:

In [8]: ar[numpy.where(ar == 'c')] 
Out[8]: 
array(['c'], 
     dtype='|S1') 
1
ar = [['0', '1', '2', '3'], 
['1', 'a', 'b', 'b'], 
['2', 'b', 'c', 'd']] 

print(ar[2][2]) 

以上只是訪問的「C」 2欄,第2行,如果你想訪問一個整列,你必須:

for i in range(0, 3): 
    print(ar[2][i]) 
+0

您好,我認爲這會在正確的方向,但這樣也工作時,我有像AR = numpy.array矩陣(所有字符串值(( 'fc','sc','tc','fc'),('fr','a','b','b'),('sr','b','c','d ')),str)。也許我應該有不同的問題。我具有列的值和行的值。兩者都是字符串。我還不知道'c'。我必須在矩陣中用colum和row類似的座標值來查找它。 – user366121 2012-01-09 10:08:36

2

如果你的意思是尋找「C」:

numpy.where(ar == 'c')