2017-07-17 84 views
0

好的,所以我寫了一個帶有pd.groupby數據幀的txt。現在我需要打開它。從熊貓groupby讀取txt到多列

我走到這一步是:

f = open('C:/MDH.txt', 'r') 
reg = f.read() 
rege = np.asarray(reg) 

但只是給了我一個長線與\ n,其中該行的原始數組中結束,但沒有劃定爲422472元。作爲一個例子的部分:

array('4.498000000000000000e+03 5.866666666666667140e+00 1.989999999999999858e+01 6.763333333333333997e+01 3.600000000000000000e+01 0.000000000000000000e+00 -7.165617522142724738e+00 2.800000000000000000e+01 4.000000000000000000e+00 3.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00\n4.495000000000000000e+03 5.799999999999999822e+00 

我所需要的是通過35.206行來恢復這對12列的陣列,用於在TXT的422472個元件。

另外,我需要知道如何將python從1.989999999999999858e + 01轉換爲19.89。

我不需要原始組的索引,只是按行排列。

+0

迪如何保存數據幀?作爲一個csv?你保存了一個特定的列嗎?你能提供一個[mcve]嗎? –

+0

我有一個數據幀MDH。我使用groupby: > MDH = MDH.groupby(['mes','dia','hora'])。mean()。然後我創建了txt:> np.savetxt('MDH.txt',MDH) –

+0

哦,好的。然後'np.loadtxt'就可以做到。 –

回答

0

您可以使用np.loadtxt自動讀取文件並解析其內容。

首先,我創建了一些假的數據,並將其保存:

In [627]: x = np.random.randn(35206, 12) 

In [629]: np.savetxt('MDH.txt', x) 

接下來,我可以用np.loadtxt加載:

In [630]: y = np.loadtxt('C:/MDH.txt') 

In [631]: y.shape 
Out[631]: (35206, 12) 

In [632]: y.dtype 
Out[632]: dtype('float64') 
+0

解決,謝謝。 –

+0

@AdolfoDonoso請考慮接受這個答案,如果它有幫助。謝謝 :) –