2016-06-13 36 views
-3

我是第一次使用python用户。我有一个星形数据的文本文件,我需要对这些列进行排序,然后从V波段获取数据。我不知道如何开始。即使只是让我开始,有人可以帮助吗?第一次组织文本文件中的列

+2

当然我们会帮忙!但是,除非您给我们更多的细节,否则我们不能做出详细的描述,并尝试编写一些代码,以便我们帮助您解决问题。 – zoubida13

+0

显示使用该文件和你想要的输出... – Destrif

+0

好吧,我可以尝试,我完全是新来的,所以它可能很难。 这是一个超过3000个数据点的大文件,看起来大概有19列没有正确排列(我认为)。数据是用不同滤波器拍摄的数据,我想要的信息是V滤波器。 – Torrance

回答

0

如果你可以从here安装熊猫然后在任何列排序可以做这样的:

#!/usr/bin/python 
# read_stars.py 

import sys 
import pandas as pd 

filename = sys.argv[1] # or 'star_data.txt'             
sep = '\t' # or ',' or ' ', etc.               
df = pd.read_csv(filename, sep) 
print df.sort(['Band']) 

更改注释行,以更好地满足您的需求。从您的评论sep似乎分隔符可能是选项卡(所以首先尝试'\t'和更改,直到解析成功)。 sys.argv[1]使用作为command line argument传递的文件,例如:

$ python read_stars.py star_data.txt 
       JD Magnitude Uncertainty HQuncertainty Band Observer Code \ 
28 2.456420e+06 16.400  0.073   NaN  V   PSD 
29 2.456421e+06  16.09  0.090   NaN  V   DKS 

... (etc) ... 

42     STD    NaN   NaN  NaN 
0     STD    NaN   NaN  NaN 

[58 rows x 23 columns] 

希望这有助于!

+0

和在这个输入和得到这个错误 '__main __:1:FutureWarning:排序(列= ....)是不赞成使用sort_values(by = .....)' – Torrance

+0

确实如此,sort(columns = ....)已被弃用,请将其更改为使用sort_values(by = ['Band']) – davedwards