将 pandas 数据框转换为 dask
Transform pandas dataframe to dask
在下面的代码中,我有一个 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)
Dask 将创建一个引用 pandas
数据框的任务图,请参阅 source code,特别是:
dsk = {
(name, i): data.iloc[start:stop]
for i, (start, stop) in enumerate(zip(locations[:-1], locations[1:]))
}
在下面的代码中,我有一个 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)
Dask 将创建一个引用 pandas
数据框的任务图,请参阅 source code,特别是:
dsk = {
(name, i): data.iloc[start:stop]
for i, (start, stop) in enumerate(zip(locations[:-1], locations[1:]))
}