从Panda groupby到多列

时间:2017-07-17 16:14:51

标签: python pandas-groupby

好的,所以我用pd.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

对于txt中的422472个元素,我需要的是将其恢复为由125.206行组成的12列数组。

另外,我需要知道如何在python中将1.989999999999999858e + 01转换为19.89。

我不需要原始groupby的索引,只需要按行的列。

1 个答案:

答案 0 :(得分: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')