Dask drop() 在我需要的时候不删除列

Dask drop() not dropping columns when I need it to

我是 Dask 的新手,删除列的方式让我感到困惑。我已经将 csv 文件读入 Dask 数据框。那么假设我有这个:

print(len(columns_to_drop))   # There are 66
print(len(list(df.columns)))  # The Dask columns before the drop
df.drop(columns_to_drop, axis=1).compute(). # Drop the columns
pd_df = df.compute()  #  Create a Pandas dataframe
print(pd_df.shape[1])  # Pandas dataframe columns
print(len(list(df.columns)))  # The Dask columns after the drop

我从打印语句中得到的信息:

您需要将 inplace=True 添加到 drop(),因为默认情况下它 return 删除了指定列的原始数据帧的副本。

df.drop(columns_to_drop, axis=1, inplace=True).compute()

假设数据帧适合内存,这应该可以解决问题:

df = df.drop(columns_to_drop, axis=1) # Drop the columns
pd_df = df.compute()  #  Create a Pandas dataframe