给定一百万条记录的大型数据集,我正在寻找方法来做一个group。 我是新来的python,但我知道在SQL中有一个groupby函数,我猜它可能适用。Groupby在python的列表中
我想要实现这算什么,
从
["A", 4]
["B", 4]
["F", 3]
["A", 4]
["B", 1]
要
["A", (4,4)]
["B", (1,4)]
["F", (3)]
我也在寻找一种有效的方式来计算评分列表的平均值。所以最后的输出应该是:
["A", 4]
["B", 2.5]
["F", 3]
我试图做一个迭代的方法进行,但抛出的错误是“有太多的数据解压”。这是我的解决方案,它不适合数据集。
len = max(key for (item, key) in results)
newList = [[] for i in range(len+1)]
for item, key in results:
newList[key].append(item)
我正在寻找有效的方法来做到这一点,有没有办法在列表理解中做groupby?谢谢!
误差意味着数据集**不是**形式'的[(X,Y),...]'。你确定'结果'是'(x,y)'对的迭代吗? – freakish