二进制 .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 表格,使它们更具可读性。
我已经使用以下方法将一个数组导入到我的 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 表格,使它们更具可读性。