2012-01-09 184 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')