我从表中有大约1亿行。该表有几列,但重要的列是3.我们可以说列colA
,colB
和colC
。
我想对按colC
和colA
分组的colB
个值进行排序。
所以,例如:
colA colB colC
A B 1
C A 3
C B 1
B C 5
A B 2
C B 8
我希望结果是:
colA colB colC
A B 1
A B 2
B C 5
C A 3
C B 1
C B 8
想象一下,大约有10,000个colA
值和2000个colB
值,总行数可以达到100,000,000行。
如何有效地使用R或python对其进行排序?
其他信息:
我的电脑有10个内核和62 GB可用内存。
答案 0 :(得分:3)
这在data.table
:
fread("csv-file.csv", select = c("colA", "colB", "colC"), key = c("colA", "colB", "colC"))
截至2018年2月,fread
的开发版本比稳定版本快得多:https://github.com/Rdatatable/data.table/wiki/Installation