在下面的代码中,我有一个 pandas
数据框,它被转换为一个 dask
数据框。问题是:进程会在创建 dask
数据帧时复制数据,还是 dask
会在不复制数据的情况下围绕 pandas
创建包装器?假设有 1 亿行。
import pandas
import dask.dataframe as daskDataFrame
IDs = [1,2,3 ......]
lastNames = ['Smith', 'Williams', 'Jackson' ......]
pandasDataFrame = pandas.DataFrame({'Person ID':IDs, 'Last Name': lastNames},
columns=['Person ID', 'Last Name'])
daskDataFrame = daskDataFrame.from_pandas(pandasDataFrame, npartitions=100)
答案 0 :(得分:1)
Dask 将创建一个引用 pandas
数据框的任务图,具体参见 source code:
dsk = {
(name, i): data.iloc[start:stop]
for i, (start, stop) in enumerate(zip(locations[:-1], locations[1:]))
}