无法使用 dask 删除列或切片数据框?
Can't drop columns or slice dataframe using dask?
我正在尝试使用 dask 而不是 pandas,因为我有 2.6gb 的 csv 文件。
我加载它,我想删除一列。但似乎 drop 方法都没有
df.drop('column') 或切片 df[ : , :-1]
尚未实施。是这种情况还是我只是错过了什么?
我们在 this PR 中实现了 drop
方法。这从 dask 0.7.0 开始可用。
In [1]: import pandas as pd
In [2]: df = pd.DataFrame({'x': [1, 2, 3], 'y': [3, 2, 1]})
In [3]: import dask.dataframe as dd
In [4]: ddf = dd.from_pandas(df, npartitions=2)
In [5]: ddf.drop('y', axis=1).compute()
Out[5]:
x
0 1
1 2
2 3
以前也可以使用列名切片;当然,如果您有很多列,这可能会不那么吸引人。
In [6]: ddf[['x']].compute()
Out[6]:
x
0 1
1 2
2 3
这应该有效:
print(ddf.shape)
ddf = ddf.drop(columns, axis=1)
print(ddf.shape)
我正在尝试使用 dask 而不是 pandas,因为我有 2.6gb 的 csv 文件。 我加载它,我想删除一列。但似乎 drop 方法都没有 df.drop('column') 或切片 df[ : , :-1]
尚未实施。是这种情况还是我只是错过了什么?
我们在 this PR 中实现了 drop
方法。这从 dask 0.7.0 开始可用。
In [1]: import pandas as pd
In [2]: df = pd.DataFrame({'x': [1, 2, 3], 'y': [3, 2, 1]})
In [3]: import dask.dataframe as dd
In [4]: ddf = dd.from_pandas(df, npartitions=2)
In [5]: ddf.drop('y', axis=1).compute()
Out[5]:
x
0 1
1 2
2 3
以前也可以使用列名切片;当然,如果您有很多列,这可能会不那么吸引人。
In [6]: ddf[['x']].compute()
Out[6]:
x
0 1
1 2
2 3
这应该有效:
print(ddf.shape)
ddf = ddf.drop(columns, axis=1)
print(ddf.shape)