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,因为它不适合内存
  • 添加一个带有[0..M]索引的列并使用,在中不建议使用
  • 这个解决方案解决了一个不同的问题,因为他的df具有唯一的索引
  • npartitions
    部分中拆分索引列表,应用偏移计算并使用
    映射分区

  • 我想不出其他的解决办法。。。最后一个可能更有效,但不确定它是否实际可行。

    通常Dask.dataframe不跟踪构成Dask.dataframe的pandas数据帧的长度。我认为你的选择4是最好的。你也可以考虑使用< /P> 另请参见

    事实上,这是一个很好的方法,而且速度足够快。