【发布时间】:2019-10-03 21:47:12
【问题描述】:
我正在使用 from_pandas() 函数从 pandas 数据帧创建一个 dask 数据帧。当我尝试使用方括号 [[ ]] 从 dask 数据框中选择两列时,我得到一个 KeyError。
根据 dask 文档,dask 数据框支持方括号列选择,就像 pandas 数据框一样。
# data is a pandas dataframe
dask_df = ddf.from_pandas(data, 30)
data = data[dask_df[['length', 'country']].apply(
lambda x: myfunc(x, countries),
meta=('Boolean'),
axis=1
).compute()].reset_index(drop=True)
这是我得到的错误:
KeyError: "None of [Index(['length', 'country'], dtype='object')] are in the [columns]"
我在想这可能与为应用提供正确的元数据有关,但从错误来看,dask 数据框似乎无法选择两列,这应该在应用之前发生。
如果我在应用行中将“dask_df”替换为“data”(pandas df),这将非常有效。
我在执行 from_pandas 时是否没有保留索引?
【问题讨论】:
-
你能在 apply() 函数之前显示
dask_df.columns的输出吗? -
我建议生成mcve