Har*_*ari 5 python preview dataframe dask
我从 Pandas DataFrame 创建了 Dask DataFrame 并在其上应用了一些函数。当我尝试使用查看数据时
df.head()
Run Code Online (Sandbox Code Playgroud)
这花费了太多时间。如何查看数据框?
这实际上取决于数据框背后的计算。
该df.head()命令仅执行从数据帧获取几行数据所需的操作。通常这非常快。例如,如果我们从 Parquet 或 CSV 文件中读取大型数据帧,那么我们只需加载第一个数据块即可获取前几行。
df = dd.read_csv('...')
df.head() # this is relatively fast
Run Code Online (Sandbox Code Playgroud)
但是,如果我们的数据帧更复杂,也许它是惰性洗牌或 set_index 操作的结果,那么我们可能确实需要读取和处理所有数据,然后才能获取前几行。
df = df.set_index('some-column')
df = df.merge(some_other_df)
df.head() # this is slow, because it has to do the set_index and merge
Run Code Online (Sandbox Code Playgroud)
您始终可以便宜地查看元数据(列名称、类型、任务和分区的数量)。
>>> df
Dask DataFrame Structure:
close high low open
npartitions=505
2008-01-02 09:00:00 float64 float64 float64 float64
2008-01-03 09:00:00 ... ... ... ...
... ... ... ... ...
2009-12-31 09:00:00 ... ... ... ...
2009-12-31 16:00:00 ... ... ... ...
Dask Name: from-delayed, 1010 tasks
Run Code Online (Sandbox Code Playgroud)
如果您的数据适合 RAM(如果您位于集群上,则为分布式 RAM),那么您也应该保留到内存中。这将使事情变得非常快。
df = df.persist()
Run Code Online (Sandbox Code Playgroud)
但是,如果您没有足够的 RAM,那么这可能会减慢您的机器速度。
| 归档时间: |
|
| 查看次数: |
5752 次 |
| 最近记录: |