2012-04-26 7 views
1
import numpy as np 
import itertools 
a = np.array([[1, 1, 3, 0, 0, 3, 2], [1, 3, 0, 0, 0, 3, 2], [1, 1, 10, 0, 0, 1, 0]]) 
for row in a: 
    sites = a.shape[0] 
    species = a.shape[1] 
    Chao = [] 
    sing = np.where(row == 1, 1, 0) 
    doub = np.where(row == 2, 1, 0) 
    spec = np.where(row > 0, 1, 0) 
    F1 = (sum(sing))**2 
    F2 = float((sum(doub)))*2 
    Sobs = sum(spec) 
    if F2 == 0: 
     Ch = Sobs 
    else: 
     Ch = Sobs + (F1/F2) 
    Chao.append(Ch) 
    print Chao 

私はチャオを印刷するとき、このループの製品は、私は現在、この持っている:アペンド値

を[7]、[4.5]、[4]

しかし、私はこのようになります配列またはリストのいずれかをしたいと思います:

([7] [4.5] [4])

私はPythonでこれを行うためにnumpyのか、リスト内のどのような機能が可能になりますか?

答えて

1

ロジックが正しいです。 Chaoリストはループ外で初期化する必要があります。

関連する問題