任何人都可以告诉我如何使用dask在数据框中选择带有“ loc”的一列?
作为一个旁注,当我使用dd.read_csv加载标题为“ None”的数据帧时,列名从零开始到131094。我将选择最后一个列名为131094的列,然后我得到了错误。
代码:
> import dask.dataframe as dd
> df = dd.read_csv('filename.csv', header=None)
> y = df.loc['131094']
错误:
文件“ /usr/local/dask-2018-08-22/lib/python2.7/site-packages/dask-0.5.0-py2.7.egg/dask/dataframe/core.py”,行180,位于_loc “如果没有已知的划分,则无法在DataFrame上使用loc”) ValueError:如果没有已知的划分,则无法在DataFrame上使用loc
根据此准则http://dask.pydata.org/en/latest/dataframe-indexing.html#positional-indexing,我的代码应该可以正常工作,但不知道是什么原因引起的。
答案 0 :(得分:0)
我在一个虚拟csv上尝试了此方法,并成功了。如果看不到文件给您带来的问题,我不能确定地帮助您。也就是说,您可能选择的是行而不是列。
相反,请尝试这个。
import dask.dataframe as dd
df = dd.read_csv('filename.csv', header=None)
y = df[df.columns[-1]]
答案 1 :(得分:0)
如果您有命名列,请使用:df.loc[:,'col_name']
但是,如果您有一个位置列,例如在您的示例中需要最后一列,则使用@ user1717828的答案。