问题标签 [dask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - python3上dask.array的安装/使用
我正在测试 dask 模块 ( https://github.com/ContinuumIO/dask ) 以使用大数据数组,但目前无法使其工作。乍一看,在我看来,与某些保留名称或类似名称存在冲突。
安装是在 ubuntu 上使用 $pip3 install dask 进行的,在 IPython 1.2.1 和 Python 3.4.0 上进行了测试。
我附上了一个最小的非工作示例。
有任何想法吗?
谢谢!!
python - python dask DataFrame,支持(可简单并行化)行吗?
我最近发现dask模块旨在成为一个易于使用的 python 并行处理模块。对我来说最大的卖点是它适用于熊猫。
在其手册页上阅读了一些内容后,我找不到一种方法来完成这个微不足道的可并行化任务:
目前,为了实现这一目标,AFAIK,
这是丑陋的语法,实际上比完全慢
有什么建议吗?
编辑:感谢@MRocklin 的地图功能。它似乎比普通熊猫应用要慢。这与熊猫 GIL 发布问题有关还是我做错了?
python - 如何处理修改大熊猫数据框
我有一个较大的熊猫数据框(磁盘上的 1.5gig .csv)。我可以将它加载到内存中并查询它。我想创建一个新列,它是其他两列的组合值,我尝试了这个:
这导致我的 python 进程被杀死,大概是因为内存问题。
该问题的一个更迭代的解决方案似乎是:
这当然看起来很不熊猫。而且速度很慢。
理想情况下,我想要apply_chunk()
与 apply 相同但仅适用于数据框的一部分。我认为dask
这可能是一个选择,但是dask
当我使用数据框时,它们似乎还有其他问题。不过,这一定是一个常见问题,我应该使用一种设计模式来向大型熊猫数据框添加列吗?
dask - 带有重影的单个 dask 阵列边界
我正在使用Dask尝试使用有限差分设置一些简单的 PDE 解决方案,我想知道是否有一种方法可以指定每个边界的边界条件。
文档在这里
当前ghost.ghost
函数允许指定几个不同的 BC,但它们对于 y 边界和 x 边界总是相同的。
文档提到我可以任意填充边界,我很乐意这样做,但是有没有办法告诉ghost.ghost
不要在块的外部添加任何边界?
dask - 无法使用 dask 删除列或切片数据框?
我正在尝试使用 dask 而不是 pandas,因为我有 2.6gb csv 文件。我加载它,我想删除一列。但似乎删除方法 df.drop('column') 或切片 df[ : , :-1]
尚未实施。是这种情况还是我只是错过了什么?
python - 以内存有效的方式将大型 csv 读入稀疏的 pandas 数据帧
pandasread_csv
函数似乎没有稀疏选项。我有 csv 数据,其中包含大量零(它压缩得非常好,并且剥离任何0
值会将其缩小到几乎是原始大小的一半)。
我试过先用read_csv
然后调用将它加载到一个密集的矩阵中to_sparse
,但是它需要很长时间并且会阻塞文本字段,尽管大部分数据都是浮点数。如果我pandas.get_dummies(df)
首先调用将分类列转换为 1 和 0,然后调用to_sparse(fill_value=0)
它会花费大量时间,这比我对具有 1200 万个条目(大部分为零)的大多数数字表的预期要长得多。即使我从原始文件中删除零并调用to_sparse()
(以便填充值为 NaN),也会发生这种情况。无论我是否通过kind='block'
或kind='integer'
.
除了手动构建稀疏数据框之外,是否有一种好的、流畅的方法可以直接加载稀疏的 csv 而不会占用大量不必要的内存?
下面是一些用于创建具有 3 列浮点数据和 1 列文本数据的示例数据集的代码。大约 85% 的浮点值为零,CSV 的总大小约为 300 MB,但您可能希望使其更大以真正测试内存限制。
这是一种简单的阅读方式,但希望有更好,更有效的方式:
编辑添加(来自 JohnE): 如果可能,请在您的答案中提供一些有关读取大型 CSV 的相关性能统计信息,包括有关您如何测量内存效率的信息(特别是因为内存效率比时钟时间更难测量)。特别要注意,如果内存效率更高,较慢的(时钟时间)答案可能是这里的最佳答案。
python - 将核心 4D 图像 tif 存储为 hdf5 python
我有 27GB 的 2D tiff 文件,代表 3D 图像电影的切片。我希望能够对这些数据进行切片,就好像它是一个简单的 numpy4d 数组一样。看起来 dask.array 是一个很好的工具,一旦它作为 hdf5 文件存储在内存中,就可以干净地操作数组。
如果这些文件不能全部放入内存,我如何首先将它们存储为 hdf5 文件。我是 h5.py 和一般数据库的新手。
谢谢。
python - 从 HDF5 文件列表创建 dask 数据帧
从 HDF5 文件列表创建 dask.dataframe 的正确方法是什么?我基本上想这样做,但使用数据框
pandas - 如何更改 dask 数据框中的行和列?
我在使用 Dask Dataframes 时遇到的问题很少。
假设我有一个包含 2 列的数据框['a','b']
如果我想要一个新专栏c = a + b
在熊猫我会做:
在 dask 我正在执行以下相同的操作:
是否有可能以更好的方式编写此操作,类似于我们在 pandas 中所做的?
第二个问题更让我困扰。
在 pandas 中,如果我想将'a'
第 2 行和第 6 行的值更改为np.pi
,我执行以下操作
我一直无法弄清楚如何在 Dask 中进行类似的操作。我的逻辑选择了一些行,我只想更改这些行中的值。
pandas - 如何在 blaze 中读取制表符分隔的 CSV?
我有一个具有以下格式的“CSV”数据文件(嗯,它是一个 TSV):
该文件可按原样解释pandas
:
但是,当我尝试读取它blaze
(声明使用 pandas 关键字参数)时,会引发异常:
这些都不起作用,pandas 根本没有使用。试图推断列名和类型的“嗅探器”只是csv.Sniffer.sniff()
从标准库调用(失败)。
有没有办法在 blaze 中正确读取这个文件(鉴于它的“小兄弟”有几百 MB,我想使用 blaze 的顺序处理能力)?
感谢您的任何想法。
编辑:我认为这可能是 odo/csv 的问题并提出了问题:https ://github.com/blaze/odo/issues/327
Edit2: 完全错误: