Проблема с загрузкой файла .dat - PullRequest
1 голос
/ 05 апреля 2019

По словам моего инструктора, файл данных ниже '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

1 Ответ

1 голос
/ 05 апреля 2019

Вы неправильно индексируете - вы получаете строки, а не столбцы.

Попробуйте это:

t = '''#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'''  

with open("f.txt","w") as f:
    f.write(t)


import numpy as np

data_array9 = np.loadtxt("f.txt", dtype= "float", usecols = (1,2))


# recessional_velocity 
print(data_array9[:,0])   # [ 427. 1510. 1152. 1152. 1152. 1152.  170.  303.]

# V_band_extinction 
print(data_array9[:,1])   # [0.0992 0.0434 0.0775 0.0682 0.0558 0.0806 0.1736 0.0434]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...