我有一个很大的 SparseDataFrame,大约有 12000 行 x 16000 列。我想计算按列分组的行的总和:
输入:
+-------+------+------+------+
| | Col1 | Col2 | Col3 |
+-------+------+------+------+
| row 1 | Foo | 1 | 0 |
| row 2 | Foo | 3 | 1 |
| row 3 | Bar | 5 | 3 |
+-------+------+------+------+
输出:
+-----+------+------+
| | Col2 | Col3 |
+-----+------+------+
| Foo | 4 | 1 |
| Bar | 5 | 3 |
+-----+------+------+
有什么想法可以让这段代码更高效吗?目前它运行速度非常慢。
sparse_df = pd.SparseDataFrame(vector, columns=data).transpose()
sparse_df.groupby('col1').sum()
最佳答案
这应该比groupby
快
df.set_index('Col1').sum(level=0)
Out[294]:
Col2 Col3
Col1
Foo 4 1
Bar 5 3
关于python - 大型数据框的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48547617/