2017-07-17 106 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请考虑接受这个答案,如果它有帮助。谢谢 :) –