python - 大型数据框的总和?

标签 python pandas

我有一个很大的 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/

相关文章:

python - 使用包含多种类型的 numpy 数组创建 Pandas DataFrame

python - 根据另一个 pandas 日期列表拆分 pandas 日期列表

python - 如何解决 AttributeError : 'DataFrame' object has no attribute

python - 将 linreg 函数从 pinescript 转换为 Python?

python - 如何在 Python 中索引 0-d 数组?

python - 在python pandas的循环中合并大数据框中的许多子数据框

python - For 循环花费的时间太长

python - 为什么 Python 中没有实现集合嵌套?

python - 将自定义数据传递给 request_futures 中的异常

python - 如何使用 python 将十六进制转换为有符号长整型?