有没有一种方法可以轻松地将数值数据帧转换为数组?如同values
使用 pandas DataFrame。我似乎找不到任何方法来使用提供的 API 来执行此操作,但我认为这是一个常见的操作。
编辑:是的,现在这是微不足道的
您可以使用.values
财产
x = df.values
旧的,现在不正确的答案
目前还没有简单的方法可以做到这一点。这是因为 dask.array 需要知道其所有块的长度,而 dask.dataframe 不知道这个长度。这不可能是一个完全懒惰的操作。
话虽这么说,你可以使用它来完成它延迟延迟 http://dask.pydata.org/en/latest/delayed-overview.html如下:
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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)