咨询:如何直接用Dask从列表/数组创建DataFrame?
直接用Dask创建DataFrame的方法
当然有直接创建的方式,无需先转为pandas DataFrame,这里提供几种常用方案:
使用
dask.dataframe.from_dict:和pandas的字典构造逻辑一致,直接传入键为列名、值为列表/数组的字典,还可按需指定分区数。示例代码:import dask.dataframe as dd import numpy as np a = [1, 2, 3, 4] b = np.array([5, 6, 7, 8]) ddf = dd.from_dict({'a': a, 'b': b}, npartitions=1)若数据量较大,建议设置合理的
npartitions拆分数据,提升并行处理效率。从numpy数组直接构造:如果是多维numpy数组,可通过
dd.from_array配合列名参数创建,示例:arr = np.column_stack((a, b)) ddf = dd.from_array(arr, columns=['a', 'b'], npartitions=1)
另外补充:如果你的数据本身体量很小,先转pandas再用from_pandas转换也完全没问题,Dask在小数据场景下的性能损耗可以忽略;但如果是处理超出内存的大数据集,上面的直接构造方法能帮你避免全量加载数据到内存的问题。
内容的提问来源于stack exchange,提问作者Ghost
相关产品推荐
相关产品推荐

