2014-11-21 35 views
0

我想從文件創建一個數據幀對象。該文件類似於這樣來自文件的python熊貓數據幀

Gibberish Header1 
Gibberish Header2 
Gibberish Header3 
Gibberish Header4 (etc)... 
TAG THING_I_WANT_AS_COLUMN_NAME Column1 
1.0 # I'll want this index as data 1 
1.2 # I'll want this index as data 2 
1.3 etc 
TAG THING_I_WANT_AS_COLUMN_NAME Column2 
1.1 
1.1 
1.7 

東西,我想數據框看起來類似於:

 Column_1 Column_2 
data1 1.0   1.1 
data2 1.2   1.1 
data3 1.3   1.7 

有沒有辦法做到這一點,而無需編寫一個函數把它變成一本字典,可直接寫入DataFrame類?我在想可能會重塑,但我不確定這對我的情況如何。我知道寫一個字典是一件容易的事情,但這些文件可能很大,所以它可能會大大減慢我的速度,甚至無法使用我的RAM。

任何幫助,即使在正確的方向點將不勝感激。

謝謝!

+1

不,您需要編寫代碼將其轉換爲熊貓可以直接讀取的格式(如CSV)。 – BrenBarn 2014-11-21 04:41:01

+0

預先解析並保存,然後將其讀入DataFrame中 - 無需將中間產品保存在內存中。 – wwii 2014-11-21 04:46:12

回答

0

當從頭開始創建熊貓數據幀我通常做... 進口大熊貓作爲PD

# create array for each column 
col1 = [float(35*x) for x in xrange(10)] 
col2 = [float(220*x) for x in xrange(10)] 

dict = {'col1_name': col1, 'coll2_name': col2} 
df = pd.DataFrame(dict) 

像其他人所說的,你必須先分析數據。沒有看到實際數據很難說清楚什麼。你可能會循環遍歷文件中的每一行,忽略標題,一旦你點擊列名和東西設置標誌。然後,您可以開始將值附加到數組。一旦你在數組中有兩組數字,就像我在那裏創建一個字典一樣,你將擁有一個數據框!