二进制 .dat 文件绘制列数组值

Binary .dat file Plotting Column Array values

我已经使用以下方法将一个数组导入到我的 IPython 笔记本中:

SDSS_local_AGN = np.fromfile('/Users/iMacHome/Downloads/SDSS_local_AGN_Spectra.dat', dtype=float)

数组的形式为:

 SPECOBJID_1         RA          DEC           SUBCLASS ...
 299528159882143744  146.29988   -0.12001413   AGN      ...
 299532283050747904  146.32957   -0.30622363   AGN      ...

基本上每一列都有一个 header,我现在需要绘制某些值。

举个例子,我想用 RA 和 DEC 作图...我该怎么做呢?

也许:

axScatter.plot(SDSS_local_AGN[RA], SDSS_local_AGN[DEC])

回答有误,见评论

如果你想通过名称访问它们,你应该使用 pandas 而不是 numpy。在 numpy 中,您需要按索引查找:

plt.scatter(SDSS_local_AGN[1], SDSS_local_AGN[2])

但在 pandas 中,它会很简单:

df = read_csv('myfile')
df.plot(kind='scatter', x='RA', y='DEC')

http://pandas.pydata.org/pandas-docs/version/0.15.0/visualization.html#scatter-plot

SDSS_local_AGN['RA'] 在 pandas 中是有效操作,但在 numpy.

中不是

PS,由于您在笔记本中工作,pandas DataFrames 将很好地呈现为 HTML 表格,使它们更具可读性。