gpt4 book ai didi

DataFrame 中的 Dask 数组

转载 作者:行者123 更新时间:2023-12-03 07:27:04 27 4
gpt4 key购买 nike

有没有一种方法可以轻松地将数值数据帧转换为数组?类似于 pandas DataFrame 的 values。我似乎找不到任何方法来使用提供的 API 来执行此操作,但我认为这是一个常见的操作。

最佳答案

编辑:是的,现在这很简单

您可以使用.values属性

x = df.values

较旧的、现在不正确的答案

目前还没有简单的方法可以做到这一点。这是因为 dask.array 需要知道其所有 block 的长度,而 dask.dataframe 不知道这个长度。这不可能是一个完全懒惰的操作。

话虽如此,您可以使用 dask.delayed 来完成它如下:

import dask.array as da
from dask import compute

def to_dask_array(df):
partitions = df.to_delayed()
shapes = [part.values.shape for part in partitions]
dtype = partitions[0].dtype

results = compute(dtype, *shapes) # trigger computation to find shape
dtype, shapes = results[0], results[1:]

chunks = [da.from_delayed(part.values, shape, dtype)
for part, shape in zip(partitions, shapes)]
return da.concatenate(chunks, axis=0)

关于DataFrame 中的 Dask 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37444943/

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