【发布时间】:2019-06-05 07:58:37
【问题描述】:
我是 python dask 的新手(对 pandas 有一点经验)。我有一个大的 Dask 数据框(约 10 到 2000 万行),我必须根据唯一的列值将其分开。
例如,如果我有以下包含 C1 到 Cn 列的数据框(抱歉,不知道如何在 stackoverflow 中制作正确的表格)并且我想为 C2 列的每个唯一值创建子集数据框
Base Dataframe:
|Ind| C1 | C2 |....| Cn |
|-----------------------|
| 1 |val1| AE |....|time|
|-----------------------|
| 2 |val2| FB |....|time|
|-----------------------|
|...|....| .. |....| ...|
|-----------------------|
| n |valn| QK |....|time|
Subset Dataframes to be created:
Subset 1:
|Ind| C1 | C2 |....| Cn |
|-----------------------|
| 1 |val1| AE |....|time|
|-----------------------|
| 2 |val2| AE |....|time|
|-----------------------|
|...|....| .. |....| ...|
|-----------------------|
| n |valn| AE |....|time|
Subset 2
|Ind| C1 | C2 |....| Cn |
|-----------------------|
| 1 |val1| FB |....|time|
|-----------------------|
| 2 |val2| FB |....|time|
|-----------------------|
|...|....| .. |....| ...|
|-----------------------|
| n |valn| FB |....|time|
and so on.
我目前的方法是获取 C2 的所有唯一值并迭代地过滤每个这些值的基本数据帧。但这需要很长时间。我目前正在研究如何改进这个过程,但如果你们中的任何人能给我一些建议,我将不胜感激。
【问题讨论】:
-
是否要将子集保存在磁盘上?
-
不...我稍后必须分别处理不同的数据帧
标签: python dataframe subset data-science dask