1

ここに私の問題があります: 私は異なる受信機からの出力を扱っており、それらは私の配列の列 0 に番号でリストされています。表示される特定のレシーバー値に対応するインデックスを見つけようとしています。以下のコードでは、値が 6 のすべてのインデックスを見つけようとしていました。

私の問題は、レシーバー 6 の値に対応するインデックスがないかのように、出力 (印刷) で [ ] しか得られないことです。データ ファイルを見て、これが正しくないことを知っています。データ テキスト ファイルは 4x22000ish 配列です。どんな助けでも大歓迎です。ありがとう。

from numpy import *

data = loadtxt("/home/***")
s,t,q = data[:,0], data[:,2], data[:,3]                         
t,q = loadtxt("/home/***", usecols = (2,3), unpack=True)

indices = []
for index, value in enumerate(data[:,0]):
    if value == '6':
        indices.append(index)

print indices
4

1 に答える 1

1
numpy.nonzero(data[:,0]==6)[0]

data[:,0]==6 はブール値の配列を返します。条件が true の場合は 1、false の場合は 0 です。

numpy.nonzero は、コンテナ内の非ゼロ要素のインデックスを返します

次のようなことができることにも興味があるかもしれません

data[data[:,0]==6,2]

最初の列がゼロのときに 2 列目のすべての要素を取得するには

于 2013-07-30T23:42:07.260 に答える