多くの列を含む FITS ファイルがあります。ファイルの単純化された例の一部は次のようになります。
A B C
100 1 90
100 2 90
100 3 90
100 4 90
211 40 70
211 41 70
211 42 70
211 43 70
211 44 70
ここで気が付くと、列A と Cの最初の 4 行は同じですが、列Bは 1 から 4 まで変化します。次に、列A と Cの次の 5 つの値は同じですが、列Bは 40 から 44 まで変化します。
私がやりたいことは、次のようなファイルを作成するプログラムを書くことです:
A B C
100 4 90
211 5 70
つまり、列 B には、列 A と C が同じ値の数が含まれている必要があります。
Pythonでこれを行う方法を知りたいです。必ずしも FITS ファイルを扱う必要はありません。FITS ファイルで使用できないルーチンがいくつかある場合は、ASCII 形式に変換することもできます。
私がこれまでに試したこと:
リスト内の等しい値の数をカウントし、それらを返すCollections
サブルーチンが呼び出されたルーチンにぶつかりました。Counter
私は試した:
import collections
counter = collections.Counter(a)
counts = counter.values()
しかし、これは列Aの値が等しいだけです。このルーチンを使用して、これらの値を列Cと比較する方法も教えてもらえますか?