有没有办法轻松将数值的DataFrame转换为数组?与valuespandas DataFrame 类似.我似乎无法用提供的API找到任何方法,但我认为这是一个常见的操作.
您可以使用该.values物业
x = df.values
Run Code Online (Sandbox Code Playgroud)
目前没有简单的方法可以做到这一点.这是因为dask.array需要知道其所有块的长度,而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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2489 次 |
| 最近记录: |