У меня проблемы с преобразованием файла .txt в данные с плавающими значениями с помощью панд. Мне нужно создать точечную диаграмму из двух столбцов данных, но я продолжаю получать сообщение об ошибке «TypeError: Empty 'DataFrame': нет числовых данных для построения графика», поэтому я полагаю, что он считывает данные в виде строк.
Файл, который я читаю, содержит 9 000 строк. Я пропускаю несколько строк в начале, так как они являются просто текстом. Когда я запускаю только первую строку моего кода, кажется, что он создает допустимый фрейм данных, но затем попытка создать точечный график не работает. Имена столбцов располагаются непосредственно перед значениями данных в файле. Я пытаюсь составить точечный график для «Xpos» против «Ypos».
Мой код действительно прост:
df = pd.read_csv('data.txt', sep='|', skiprows=44)
df.plot(x='Xpos', y='Ypos')
Вот пример первых 20 строк кадра данных
Note HHVA Xpos Ypos ... B-V u_B-V e_Vmag e_B-V
2 10001 47.22 68.87 ... 0.731 0.010 0.010
3 10002 62.38 38.89 ... 0.921 0.010 0.010
4 10003 207.27 371.05 ... 0.884 0.010 0.010
5 10004 146.39 208.01 ... 0.791 0.010 0.010
6 10005 189.39 294.75 ... 1.392 0.011 0.016
7 * 10006 205.68 475.89 ... 0.645 0.013 0.015
8 * 10007 273.94 244.41 ... 0.546 0.004 0.009
9 * 10008 159.47 126.65 ... 0.593 0.009 0.012
10 * 10009 99.21 294.68 ... 0.622 0.010 0.012
11 * 10010 215.65 20.32 ... 0.558 0.005 0.009
12 * 10011 96.96 473.71 ... 0.582 0.009 0.011
13 10012 126.02 401.93 ... 1.174 0.010 0.013
14 * 10013 109.47 262.02 ... 0.557 0.010 0.013
15 * 10014 92.94 444.24 ... 0.569 0.008 0.012
16 10015 174.44 469.01 ... 0.554 0.012 0.015
17 * 10016 17.07 427.70 ... 0.549 0.013 0.016
18 10017 232.49 385.61 ... 0.781 0.007 0.011
19 10018 241.99 189.83 ... 0.511 0.024 0.029
20 * 10019 262.88 360.47 ... 0.544 0.004 0.008
21 * 10020 110.98 142.96 ... 0.535 0.011 0.014
А вот что я получаю, когда запускаю df.info
<class 'pandas.core.frame.DataFrame'>
Int64Index: 20 entries, 2 to 21
Data columns (total 10 columns):
Note 20 non-null object
HHVA 20 non-null object
Xpos 20 non-null object
Ypos 20 non-null object
Vmag 20 non-null object
u_Vmag 20 non-null object
B-V 20 non-null object
u_B-V 20 non-null object
e_Vmag 20 non-null object
e_B-V 20 non-null object
dtypes: object(10)
memory usage: 1.7+ KB
None
В столбцах u_Vmag и u_B-V отсутствуют измеренные значения.
Мне кажется, что я просто упускаю что-то явно очевидное. У кого-нибудь есть предложения?