Python 如何从分区的DF(非唯一索引)中选择具有索引列表的数据? 问题
我有一个数据帧Python 如何从分区的DF(非唯一索引)中选择具有索引列表的数据? 问题,python,dataframe,indexing,dask,Python,Dataframe,Indexing,Dask,我有一个数据帧df,索引不是在4个分区上单调递增的,这意味着每个分区都用[0..N]索引。 我需要根据索引列表[0..M]选择行,其中M>N。 使用loc会产生不一致的输出,因为有多行被0索引(参见示例) 换句话说,我需要克服达斯克和熊猫之间的差异,因为这很容易解决我的问题 例子 打印df.loc[0].compute()结果为: Unnamed: 0 best_answer thread_id ty_avc ty_ber ty_cjr ty_cpc \ 0
df
,索引不是在4个分区上单调递增的,这意味着每个分区都用[0..N]索引。
我需要根据索引列表[0..M]选择行,其中M>N。
使用loc
会产生不一致的输出,因为有多行被0
索引(参见示例)
换句话说,我需要克服达斯克和熊猫之间的差异,因为这很容易解决我的问题
例子
打印df.loc[0].compute()
结果为:
Unnamed: 0 best_answer thread_id ty_avc ty_ber ty_cjr ty_cpc \
0 0 1 1 1 0.052174 9 18
0 0 1 5284 12 0.039663 34 60
0 0 1 18132 2 0.042254 7 20
0 0 1 44211 4 0.025000 5 5
可能的解决方案
df
重新分区为一个单独的分区并reset\u index
,不喜欢as,因为它不适合内存李>
npartitions
部分中拆分索引列表,应用偏移计算并使用映射分区
我想不出其他的解决办法。。。最后一个可能更有效,但不确定它是否实际可行。通常Dask.dataframe不跟踪构成Dask.dataframe的pandas数据帧的长度。我认为你的选择4是最好的。你也可以考虑使用< /P> 另请参见事实上,这是一个很好的方法,而且速度足够快。