次のような出力を取得しようとしています。
169.764569892, 572870.0, 19.6976
ただし、入力しているファイルの形式が先ほど示した出力に似ているため、問題がありますが、データの一部の行には、削除する必要がある変数として「nan」があります。私はそうするためにこれを使用しようとしています:
TData_Pre_Out = map(itemgetter(0, 7, 8), HDU_DATA)
TData_Pre_Filter = [Data for Data in TData_Pre_Out if Data != 'nan']
ここでは、リスト内包表記を使用して「nan」を削除しようとしていますが、出力にはまだそれが表示されます。これを適切にフィルタリングするための助けがあれば、大歓迎です。
編集:不適切な出力は次のようになります。
169.519361471, nan, nan
上に示したものの代わりに。また、いくつかの詳細情報:1) これは、テキスト ファイルではなく、特別なデータ ファイルからのものであるため、行の分割は機能しません。2) 入力は出力とまったく同じで、上に示した map() 行を使用してマッピングされ、実際に必要なインデックスに分割されています (つまり、L = [(1,2 のようなすべてのデータ リストを使用する代わりに) ,3),(3,4,5)] データ構造の要点を示すために、そのリストから 1 と 3 のみを取り出します) データは次のように読み込まれます。
with pyfits.open(allfiles) as HDU:
HDU_DATA = HDU[1].data
構文は特殊なプログラムからのものですが、アイデアはわかります