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
我从打印语句中得到的信息:
- 要删除 66 列
- 207 Dask df columns before drop
- 207 Pandas 列数
- 207 Dask专栏后下降
您需要将 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
我是 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
我从打印语句中得到的信息:
- 要删除 66 列
- 207 Dask df columns before drop
- 207 Pandas 列数
- 207 Dask专栏后下降
您需要将 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