使用Python Pandas读取CSV时,可以指定索引列。在读取文件时是否可以使用Python Dask,而不是之后设置索引?
例如,使用pandas:
df = pandas.read_csv(filename, index_col=0)
理想情况下,使用dask可能是:
df = dask.dataframe.read_csv(filename, index_col=0)
我试过了
df = dask.dataframe.read_csv(filename).set_index(?)
但索引列没有名称(这似乎很慢)。
答案 0 :(得分:3)
不,这些必须是两种不同的方法。如果你试试这个,那么Dask会告诉你一个很好的错误信息。
In [1]: import dask.dataframe as dd
In [2]: df = dd.read_csv('*.csv', index='my-index')
ValueError: Keyword 'index' not supported dd.read_csv(...).set_index('my-index') instead
但这不会比以其他方式做得更慢或更快。
答案 1 :(得分:1)
我知道我来晚了,但这是google上的第一个结果,因此应该得到回答。
如果您使用以下方式编写数据框:
# index = True is default
my_pandas_df.to_csv('path')
#so this is same
my_pandas_df.to_csv('path', index=True)
并使用Dask导入:
import dask.dataframe as dd
my_dask_df = dd.read_csv('path').set_index('Unnamed: 0')
它将使用列0作为您的索引(由于pandas.DataFrame.to_csv()而未命名)。
my_dask_df = dd.read_csv('path')
my_dask_df.columns
返回
Index(['Unnamed: 0', 'col 0', 'col 1',
...
'col n'],
dtype='object', length=...)