【发布时间】:2019-04-05 18:54:38
【问题描述】:
根据我的导师的说法,“galaxy_data.dat”下面的数据文件应该包含 3 列,第一列是星系的名称(忽略),第二列和第三列是银河系的退行速度和银河系中的光消光方式。每列应该包含 8 个星系的数据,但是当我尝试使用 np.loadtxt 将数据放入数组并打印这些数组时,我只得到了两位数据。
data_array9 = np.loadtxt("galaxy_data.dat", dtype= "float", usecols = (1,2))
recessional_velocity = data_array9[1]
V_band_extinction = data_array9[2]
当我打印两个数组时;
in: recessional_velocity
Out: array([1.51e+03, 4.34e-02]) (two bits of data)
in: V_band_extinction
Out: array([1.152e+03, 7.750e-02]) (two bits again)
我不知道这是否是我的代码有问题,或者文件是否只是搞砸了。救命!
编辑:我将数据文件转换为文本文件,如下所示:
#Galaxy Recession A_{V,MW} #Name Velocity (km/s) (mag) NGC3627 427 0.0992 NGC3982 1510 0.0434 NGC4496A 1152 0.0775 NGC4527 1152 0.0682 NGC4536 1152 0.0558 NGC4639 1152 0.0806 NGC5253 170 0.1736 IC4182 303 0.0434
【问题讨论】:
-
您打印的不是两列,而是两行,每行都有您在文件中看到的两个值。要查看列,请使用
data_array9[:,0]和[:,1]。 -
感谢修复它。我对编码很陌生,但这很明显!
标签: python numpy python-3.7