当我尝试通过读取pickle文件来创建dask数据帧时,我得到了一个错误
import dask.dataframe as dd
ds_df = dd.read_pickle("D:\test.pickle")
AttributeError: 'module' object has no attribute 'read_pickle'
but it works fine with read_csv
在大熊猫身上,它一如既往地成功了。
所以,如果我在这里或者在dask中做错了什么,请纠正我,我们根本不能通过读取一个pickle文件来创建数据帧
最近我正在学习达斯克,听说它比熊猫记忆更高效,速度更快。
这可能是内存效率高,但一个简单的基准测试给我的达斯克比熊猫的速度。
Qn:如何提高DASK的速度?
下面是设置:
import numpy as np
import pandas as pd
import dask
import dask.dataframe as dd
import dask.array as da
import time
import seaborn as sns
df = sns.load_dataset('titanic')
df = df = pd.concat([df for _ in
我试图从google存储中读取大量的csv文件(多个文件)。我使用Dask分发库进行并行计算,但我面临的问题是,虽然我提到了块大小(100 my ),但我不知道如何按分区读取分区并将其保存到postgres数据库中,这样我就不想让内存超载。
from dask.distributed import Client
from dask.diagnostics import ProgressBar
client = Client(processes=False)
import dask.dataframe as dd
def read_csv_gcs():
从dask教程中逐字摘录
from time import sleep
def inc(x):
sleep(1)
return x + 1
def add(x, y):
sleep(1)
return x + y
%%time
x = inc(1)
y = inc(2)
z = add(x, y)
CPU时间:用户6.89ms,sys: 628s,总计:7.51ms墙壁时间:3s
from dask import delayed
%%time
x = delayed(inc)(1)
y = delayed(inc)(2)
z = delayed(add)(x
我有一个数据集存储在一个标签分隔的文本文件中。该文件如下所示:
date time temperature
2010-01-01 12:00:00 10.0000
...
其中temperature列包含以摄氏度(°C)为单位的值。我用达斯克计算日平均温度。这是我的代码:
from dask.distributed import Client
import dask.dataframe as dd
client = Client("<scheduler URL")
inputDataFrame = dd.read_table("<in
我有一个Dataframe,我想要计算一个列列表的偏度,如果这个倾斜度超过了某个阈值,我就使用日志转换来修正它。我想知道是否有一种更有效的方法,通过删除下面的correct_skewness()函数中的for循环,使correct_skewness()函数在多个列上并行工作:
import dask
import dask.array as da
from scipy import stats
# Create a dataframe
df = dask.datasets.timeseries()
df.head()
id name
下面的代码使用在Docker容器中实现的Dask工作人员并行运行两个TensorFlow培训。
我需要启动两个过程,使用相同的dask客户端,每个过程将与N个工作人员一起培训各自的模型。
为此,我做了以下工作:
我使用joblib.delayed生成这两个进程。
在每个进程中,我运行with joblib.parallel_backend('dask'):来执行fit/培训逻辑。每个培训过程都会触发N名dask工人。
问题是,我不知道整个进程是否是线程安全的,有什么并发元素是我遗漏的吗?
# First, submit the function twice us
从一个库中,我得到一个函数,它读取一个文件并返回一个numpy数组。
我想用多个文件中的多个块构建一个Dask数组。
每个块都是在文件上调用函数的结果。
当我要求Dask计算时,Dask会要求函数同时从硬盘读取多个文件吗?
如果是这样的话,如何避免呢?我的电脑没有并行文件系统。
示例:
import numpy as np
import dask.array as da
import dask
# Make test data
n = 2
m = 3
x = np.arange(n * m, dtype=np.int).reshape(n, m)
np.save('0.npy'
在使用dask运行测试用例时,我看到了400%+ CPU的使用情况,尽管我以多种方式指定了一个工作人员。在OSX中的活动监视器上,我看到两个进程,一个有一个线程,另一个有带有ThreadPool的8个线程。我看到两个进程,一个线程和4个线程与single-threaded。知道这些线程是干什么用的吗?
相关:
import dask
import dask.array as da
from dask.diagnostics import Profiler, ResourceProfiler, CacheProfiler, visualize
from multiprocessing.pool
我想知道如何在调用map_partitions而不是pd.Dataframe时返回dask Dataframe,以避免内存问题。
输入数据帧
id | name | pet_id
---------------------
1 Charlie pet_1
2 Max pet_2
3 Buddy pet_3
4 Oscar pet_4
map_partitions的预期输出
pet_id | name | date | is_healty
------------------------------------------