我试图了解dask如何帮助我对庞大的数据集进行数据转换。我需要执行的任务如下面的 pandas 示例。
import pandas as pd
pdf = pd.DataFrame({'ID': ['A', 'B', 'C', 'D', 'A', 'B', 'B', 'B', 'C'],
'VAL1': [0,1,4,1,4,1,1,1,4],
'VAL2': [0,3,4,3,4,3,3,3,4],
'VAL3': [4,3,4,3,4,3,3,3,4],
'VAL4': [4,3,4,3,4,3,3,3,4]})
vals1 = ['VAL1', 'VAL2']
vals2 = ['VAL3', 'VAL4']
pdf[vals1] = pdf[vals1].applymap(lambda x: 1 if x > 1 else 0)
pdf[vals2] = pdf[vals2].applymap(lambda x: 1 if x < 4 else 0)
pdf['ANY1'] = pdf[vals1+vals2].apply(lambda row: 1 if sum(row) > 0 else 0,axis=1)
pdf['ONES'] = 1
pdf.groupby(['ID']).sum()
当我开始使用时:
import dask.dataframe as dd
df = dd.from_pandas(pdf, chunksize=9)
df...
当我尝试在多列中转换数据并一次性添加更多列时,我立即卡住了。
所以我的问题是如何从 pandas dask 重新创建示例并单次传递数据?