Ich spiele mit Tables-Objekt von astropy.table-Modul.Python-Astropie: Tabellen- und Spaltenobjekte
Das Stück Code zeigt die Art der Daten, mit denen ich zu tun:
In [44]: table
Out[44]:
<Table length=9>
defocus source Chi2 xcentroid ycentroid FWHMx FWHMy Peak
float32 float32 float32 float32 float32 float32 float32 float32
------- ------- ------- --------- --------- ------- ------- -------
-0.3 0.0 346.648 2056.5 55.82 11.8635 11.8635 182.277
-0.3 4.0 148.302 2056.49 1911.02 6.66554 6.66554 299.074
-0.3 8.0 347.208 2056.51 3922.99 6.83129 6.83129 326.476
-0.26 0.0 318.489 2056.5 55.8803 10.206 10.206 195.055
-0.26 4.0 152.501 2056.51 1911.02 6.9012 6.9012 244.817
-0.26 8.0 285.845 2056.49 3922.99 7.7939 7.7939 236.194
-0.22 0.0 264.113 2056.5 55.9053 8.79704 8.79704 187.376
-0.22 4.0 163.228 2056.5 1911.02 2.43716 2.43716 402.182
-0.22 8.0 230.017 2056.5 3922.99 6.70312 6.70312 235.376
In [45]: type(table)
Out[45]: astropy.table.table.Table
In [46]: cols=table.columns
In [47]: type(cols)
Out[47]: astropy.table.table.TableColumns
In [48]: type(cols[0])
Out[48]: astropy.table.column.Column
In [50]: mylist_1 = [x for x in cols]
In [51]: mylist_2 = [cols[k] for k in range(len(cols))]
In [52]: type(mylist_1[0])
Out[52]: str
In [53]: type(mylist_2[0])
Out[53]: astropy.table.column.Column
In [54]: mylist_1[0]
Out[54]: 'defocus'
In [55]: mylist_2[0]
Out[55]:
<Column name='defocus' dtype='float32' length=9>
-0.3
-0.3
-0.3
-0.26
-0.26
-0.26
-0.22
-0.22
-0.22
Ich hatte erwartet, dass die beiden Linien:
mylist_1 = [x for x in cols]
und
mylist_2 = [cols[k] for k in range(len(cols))]
würde de genau das gleiche (das zweite ist weniger elegant), aber es nicht, wie Sie in den obigen Ausgaben sehen können (mylist_1 c enthält nur die Spaltennamen und nicht die Spalten selbst). Warum ist das so? Gibt es etwas, was ich nicht wirklich über mein "Cols" -Objekt verstehe?
Vielen Dank für Ihre Einblicke.
(Ich stieß darauf, während ich versuchte, meine Tabelle in eine Fit-Datei zu schreiben - mit astropy.io.fits - die erfordert, eine entsprechende Spaltenliste zu erstellen, die nicht so offensichtlich ist, wie man erwarten würde ...)
Es gibt nicht viel über FITS-Dateien, die "offensichtlich" ist (wie mein Lieblingsbeispiel, die fehlende Unterstützung für vorzeichenlose Ganzzahlen :) – Iguananaut