KeyError:尝试在快速数据帧上选择列时

时间:2019-10-03 21:47:12

标签: pandas dask

我正在使用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)


# This is the error I am getting: 
KeyError: "None of [Index(['length', 'country'], dtype='object')] are in the [columns]"

我当时想这可能与为应用提供正确的元数据有关,但是从错误看来,dask数据框无法选择两列,而这应该在应用之前发生。

如果在应用行中将“ dask_df”替换为“ data”(pandas df),则此方法非常适用。

在执行from_pandas时是否不保留索引?

1 个答案:

答案 0 :(得分:-1)

错误状态:列['length', 'country']

dask_df中不存在。 首先创建它们,然后再运行功能。