问题标签 [vaex]

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.

0 投票
1 回答
140 浏览

python - 从 Parquet 加载 Dataframe 并计算 RAM 中的最大值

我是 Dask 的新手,并使用行组将 pandas Dataframe 导出到 Parquet:

然后我尝试用 Dask 加载它,这似乎工作正常(?):

到目前为止,没有任何问题。但是当我调用x.max().compute()它时,Dask 似乎将整个数据集加载到 RAM 中(至少 RAM 像疯了一样增加)然后崩溃。只看max()

根据 Dask 教程https://tutorial.dask.org/04_dataframe.html#Computations-with-dask.dataframe ,据我了解,这应该可以正常工作(?)

max()当我尝试只调用一列时,它也会内存不足:

我做错了什么,还是它应该如何工作,我必须做一些不同的事情?

我现在还尝试使用distributed系统并将客户端限制为 10GB,但 Dask 又吃掉了 24GB 的 RAM,并且只打印了一个警告,表明工作组完全超出了设置的内存限制:

0 投票
1 回答
176 浏览

vaex - Vaex:将更改应用于选择

使用 Vaex,我想选择行,修改该选择中某些列的值,并将更改应用于原始数据框。

我可以进行选择并更改该选择,但是如何将它们移植到原始数据框?

到目前为止,我想到的唯一解决方案是获得两个互补的选择,修改我感兴趣的一个,然后将它与另一个选择连接。有没有更直接的方法来做到这一点?

0 投票
2 回答
445 浏览

python - 使用 Dask 导入大型 CSV 文件

我正在使用 Dask 导入一个非常大的 csv 文件 ~680GB,但是,输出不是我所期望的。我的目标是只选择一些列(6/50),并可能过滤它们(我不确定,因为似乎没有数据?):

当我将它读入 Jupyter 时,我无法理解输出 - 控制台输出:

0 投票
0 回答
161 浏览

python - Vaex 使用 datetime64 列连接两个数据帧

我已经撞了半天了。在数据管道中,我想将新数据与现有数据集合并。我已经使用 Pandas .concat() 完成了这项工作,这工作正常,但在内存上有点沉重。由于 Vaex 有内存映射,我想我试一试,但我收到以下错误消息:

尝试连接两个数据帧时:

使用显示检查两个数据帧.dtype是列都是 datetime64[ns] 类型。我使用 .to_datetime() 解析日期,它在后台使用 Numpy 的 datetime64。

有趣的是,在查看数据时,它们的打印方式不同:

和另一个:

所以它肯定看起来是否存在不匹配,但我不知道如何解决它。看起来 Vaex 读取时间戳的方式与 Pandas 不同。我想要实现的是合并两个具有最小内存占用的镶木地板文件。这意味着,由于我不想将其加载到内存中,因此不会更改 D1 数据帧。

我的版本:Python:3.9.5 Vaex:4.3.0 Pandas:1.3.0

任何帮助,将不胜感激。

0 投票
0 回答
73 浏览

python - VAEX groupby 日期时间列和另一列

我有一个时间序列的数据,我想使用 VAEX 来操作它。我需要按整数“物种”列分组,然后按分钟分组。我努力了

但它给出了一个错误“pyarrow.lib.ArrowNotImplementedError: Unsupported datetime64 time unit” 它可以分别管理两列上的分组,但是当组合时它会失败。有没有办法做到这一点?

0 投票
0 回答
141 浏览

python - 使用 vaex 连接两个数据框

我正在尝试加入两个全部由 vaex 导入的数据框。我认为这应该很简单,但我对vaex expressions. 这是我所做的:

我得到了错误:

如何将列表转换为 vaex 表达式?

0 投票
1 回答
169 浏览

python - 如何使用 python 和 R 将较大的数据集(20GB csv 文件)转换为 hdf5 格式?

我想将较大的 csv 文件转换为 hdf5 格式。我正在使用 vaex 库,它只接受 hdf5 扩展来加载数据集。我还需要 R 中上述问题的解决方案。

0 投票
1 回答
188 浏览

python - 连接 2 个导致列问题的 vaex 数据帧

我在连接 2 个vaex数据帧时遇到了一些问题。当我连接两个数据框时,列名被忽略。

首先,我使用vaex读取了一个 CSV 文件

>>> import vaex as vx

>>> df = vx.read_csv("fl_name", header=None)

>>> df.column_names

['0', '1', '2', '3', '4', '5', '6']

然后我尝试将此数据框连接到现有数据框

>>> df_original

['A', 'B', 'C', 'D', 'E', 'F', 'G']

为了实现这一点,我将新的数据框列名与现有的列名匹配

>>> df.column_names = df_original.column_names

>>> df_original.concat(df)

当我检查生成的数据框列时,我得到了

['A', 'B', 'C', 'D', 'E', 'F', 'G', '0', '1', '2', '3', '4', '5', '6']

有什么办法可以解决这个问题并使vaex尊重列名?

0 投票
1 回答
93 浏览

python - python pandas - 有没有更快的方法根据要求进行爆炸操作

代码如下输入数据框是 在此处输入图像描述

输出是 在此处输入图像描述

问题是当大量数据出现时 - 大约 100 万 - 过程很慢,我们可以在 pandas 中执行任何其他逻辑或内置函数,以及我将如何使用 vaex 库来做到这一点谢谢

0 投票
0 回答
37 浏览

python - 关联 2 个熊猫数据框的最 Pythonic 方式是什么?基于键值

所以,我在一个地方工作,在这里我使用了很多 Python (Pandas),数据越来越大,上个月我处理了几十万行,几周后我处理了几百万行现在我正在处理 4200 万行。我的大部分工作只是获取一个数据框,对于每一行,我需要在另一个数据框中查阅其“等效”并处理数据,有时只是合并,但更多时候我需要使用等效数据执行功能。在有几十万行的日子里,只使用 apply 和一个简单的过滤器就可以了,但现在它非常. 最近我改用 vaex,它在各个方面都比 pandas 快得多,但经过一段时间的搜索,我发现 apply 是最后一个资源,只有在你没有其他选择的情况下才应该使用。那么,还有其他选择吗?我真的不知道

一些代码来解释我是如何做到这一点的:

正如我所说,这不是唯一的用例。