gpt4 book ai didi

python - 反转 dask 分布式数据帧的简单方法

转载 作者:太空宇宙 更新时间:2023-11-04 00:01:48 25 4
gpt4 key购买 nike

我尝试使用 [::-1] 反转 dask 数据帧的顺序,但得到了一个只能使用 ilocNotImplementedError code> 索引,如 [:, ['foo']]

例如

tmp=pd.DataFrame(dict(a=[0,1,1,1,0,1,0,1], b=[0,0,0,0,1,0,0,1]))
tmp=dd.from_pandas(tmp, npartitions=4)
tmp[::-1]

如何在不将整个数据帧加载到内存的情况下轻松反转已排序数据帧的顺序?

最佳答案

这是一个保持索引不变的解决方案:

@dask.delayed
def reverse_pdf(pdf):
'''delayed function to reverse a pandas dataframe'''
return pdf[::-1]

# generating testdata
tmp=pd.DataFrame(dict(a=[0,1,1,1,0,1,0,1], b=[0,0,0,0,1,0,0,1]))
tmp_dd=dd.from_pandas(tmp, npartitions=4)

# reversing tmp_dd
ds = tmp_dd.to_delayed() # one delayed object per partition
ds = [reverse_pdf(d) for d in ds] # reverse each partition
ds = reversed(ds) # reverse the order of the partitions
tmp_dd_reversed = dd.from_delayed(ds) # construct a new dask dataframe

关于python - 反转 dask 分布式数据帧的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55464777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com