python-3.x - 熊猫没有按预期处理文件
问题描述
我有一个包含需要绘制的天文数据的文件。前几行如下所示:
1 SDSSJ000005.95+145310.1 2.49900 * 0.000e+00 0.00 NA -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 0.000 0.000 NONE
4 SDSSJ000009.27+020621.9 1.43200 UvS 0.000e+00 0.00 NA -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 0.000 0.000 NONE
5 SDSSJ000009.38+135618.4 2.23900 QSO 0.000e+00 0.00 NA -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 0.000 0.000 NONE
6 SDSSJ000011.37+150335.7 2.18000 * 0.000e+00 0.00 NA -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 0.000 0.000 NONE
11 SDSSJ000030.64-064100.0 2.60600 QSO 0.000e+00 0.00 NA -999.000 -999.000 -999.000 -999.000 15.460 -999.000 -999.000 -999.000 -999.000 23.342 56.211 UV
15 SDSSJ000033.05+114049.6 0.73000 UvS 0.000e+00 0.00 NA -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 -999.000 0.000 0.000 NONE
27 LBQS2358+0038 0.95000 QSO 0.000e+00 0.00 NA 17.342 18.483 18.203 17.825 -999.000 -999.000 -999.000 -999.000 -999.000 23.301 56.572 UV
我正在尝试将第三列(第一行的值为 z = 2.49900)设置为索引,因为这是我将要绘制的列。以 -999.000 开头的列是我将要处理和绘制的值。
我的问题是,熊猫没有像我预期的那样处理文件。我在用着
import pandas as pd
data = pd.read_csv('todo.dat', sep = ' ',
names = ['no', 'NED', 'z', 'obj_type','S_21', 'power',
'SI_flag','U_mag', 'B_mag', 'V_mag', 'R_mag',
'K_mag', 'W1_mag', 'W2_mag', 'W3_mag', 'W4_mag',
'L_UV', 'Q', 'flag_uv'])
data.set_index('z')
将文件读入数据框,它给了我以下信息:
但我希望该Index
列与文件中1, 2, 3, 4, ...
的'no'
列1, 4, 5, 6, ...
相同。
如何防止文件中的第一列被解释为索引?我想按原样保留行的编号。
我在这里问了一个相关的问题,但答案没有帮助。
解决方案
您无法创建'z'
数据框的索引,因为索引只能是整数或序列('z'
是浮点值,因此不能是索引)。
如果'z'
是一个整数/序列,你会想尝试:
data = pd.read_csv('todo.dat', sep = ' ', index_col = 'z',
names = ['no', 'NED', 'obj_type','S_21', 'power',
'SI_flag','U_mag', 'B_mag', 'V_mag', 'R_mag',
'K_mag', 'W1_mag', 'W2_mag', 'W3_mag', 'W4_mag',
'L_UV', 'Q', 'flag_uv'])
推荐阅读
- ionic-framework - 如何在 cordova 插件中添加离子 devApp 支持
- javascript - TripleDES 加密 - c# 和 javascript 的区别
- c# - 具有特殊字符的文件夹中的 c#.WebApi 解决方案的依赖性问题
- java - 如何在 libGDX 中以相反的方式射击子弹
- c# - 是否有一个选项可以在不制作“GlobalSuppressions.cs”文件的情况下停用样式警察规则?
- asp.net-core - 为什么在使用 IIS Express 而不是 Kestrel 时 Active Directory 可以与 Visual Studio MVC 模板一起使用?
- raspberry-pi3 - 当光标放在 wxTextCtrl 上时,调用屏幕键盘的最佳方法是什么?
- javascript - 有没有办法使用 UI Kitten 将主色设置为 Layout 组件的背景色?
- c# - 如何发送延续令牌来查询天蓝色的时间序列见解?
- java - 保存数组中两个数字之间的奇数