私はこれに対する答えを探しましたが、実際に法案に合うものはないようです。ATpy で読み取ろうとしている非常に大きなファイルがあり、データは numpy 配列の形式になっています。小さいファイルの場合、次のコードで十分です。
sat = atpy.Table('satellite_data.tbl')
そこから、プロットの目的で後で操作する必要がある変数をいくつか作成します。これらの種類の操作がたくさんあります。
w1 = np.array([sat['w1_column']])
w2 = np.array([sat['w2_column']])
w3 = np.array([sat['w3_column']])
colorw1w2 = w1 - w2 #just subtracting w2 values from w1 values for each element
colorw1w3 = w1 - w3
等
しかし、非常に大きなファイルの場合、コンピューターはそれを処理できません。解析が開始される前にすべてのデータがメモリに格納されていると思いますが、2GB のファイルには適していません。では、これらの大きなファイルを処理するために代わりに何を使用できますか?
人々がデータをチャンクに分割し、for
ループを使用して各行を反復している投稿をたくさん見てきましたが、これらのファイルの性質と操作の種類を考えると、ここではうまくいかないと思いますこれらの配列で行う必要があります。ファイルのすべての行に対して単一の操作を実行することはできません。各行には、列に割り当てられた多数のパラメーターが含まれているためです。場合によっては、単一の列の数値に対して複数の操作を実行する必要があります。
正直なところ、ATpy と numpy を使用して舞台裏で行われているすべてのことをよく理解していません。私は Python を初めて使用するので、それを明確に説明する回答に感謝します (つまり、多くの暗黙のコーディング知識に頼らないでください)。これを解析するきれいな方法が必要ですが、私はそれを見つけていません。ありがとう。