2016-06-13 35 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