我有一个非常大的数据框(接近100万行),它有几个元数据列和一个包含长串三元组的单个列。一个字符串可能如下所示:
0,0,123.63;10,360,2736.11;30,270,98.08;...
也就是说,三个值用逗号分隔,然后用分号分隔。让我们将这三个值称为IN,OUT,MEASURE。实际上,我希望按原始列+ IN&组分组我的数据。 OUT列,然后在MEASURE列上求和。由于每个长字符串包含大约30个三元组,如果我简单地将数据取消堆叠,我的数据帧将增长到大约3000万行。显然这是不可行的。
因此,给定一组列(可以在IN和OUT列中插入或排除)我想要分组,然后总结我的MEASURE数据,我将如何有效地去除相关数据并总结所有内容炸毁我的记忆?
我当前的解决方案只是循环遍历每一行,然后遍历每个三元组,并保持我指定的每个组的运行总计。这非常慢,所以我正在寻找更快的东西,也许是矢量化的。任何帮助将不胜感激。
编辑:下面的示例数据(以管道分隔的列)
DATE|REGION|PRIORITY|PARAMETERS
10-Oct-2016|UK|High|0,0,77.82;30,90,7373.70;
10-Oct-2016|US|Low|0,30,7.82;30,90,733.70;
11-Oct-2016|UK|High|0,0,383.82;40,90,713.75;
12-Oct-2016|NA|Low|40,90,937.11;30,180,98.23;
其中PARAMETERS的形式为“IN,OUT,MEASURE; IN,OUT,MEASURE; ......” 我基本上想(作为一个例子)创建一个数据透视表
values=MEASURE
index=DATE, IN
columns=PRIORITY