问题标签 [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.
python - 即使在 Vaex 和内存崩溃中,将 sparsematrix 转换为 hdf5 也需要太多时间
我有一个包含文本数据和数字特征的数据框。我已经对文本数据进行了矢量化处理,并计划将其与剩余的数值数据连接起来,以便在机器学习算法上运行。
我使用 TIDF 对文本数据进行了矢量化,如下所示:
text_vect_df.shape:250000 x 9300
我已将 text_vect_df 转换为 csv 文件并使用 vaex 将其转换为 hdf5,如下所示。Vaex 必须与 hdf5 格式一起工作。
是text_vectorized.csv
4GB。vaex.from_csv()
花费了太多时间并且内存正在崩溃(8GB RAM)。
我在我的 Jupyterhub(带有外部 GPU)中尝试了它的形状,text_vect_df.shape 200000 x 9300.
它以每个 7GB 的块下载,并且阅读它需要太多时间。
问题一:hdf5文件怎么比原来的csv5文件大?不应该更小吗?问题 2:如果较小的大小失败/崩溃,我如何存储 950000 x 10000 大小的数据帧?
我读过关于 vaex 的文章,它看起来真的很酷,因为计算发生在几秒钟内。我很想继续处理这个问题,但我被困住了。我试过了。不如 Vaex 酷。
已经尝试过的解决方案:
- Pandas 的 to_hdf 不应该用于存储稀疏矩阵,因为https://vaex.readthedocs.io/en/latest/faq.html
当使用 pandas .to_hdf 方法时,输出的 HDF5 文件具有基于行的格式。另一方面,Vaex 期望基于列的 HDF5 文件
- 如果没有 dask 或 vaex,内存在运行 KNN、SVM 或任何 ML 算法时会崩溃。
- 尝试使用 dask,没有运气,工人在客户端本地集群中被杀死。
- 有了 Vaex,无法前进
python - vaex filter an dataframe using mask from anther series
I want to use a mask from series x to filter out a vaex dataframe y. I know how to do this in pandas and numpy. In pandas it's like:
The result is like:
But in vaex, the following code doesn't work.
The result is empty:
It seems that vaex doesn't have the same index concept as pandas and numpy. Although the two dataframe is equal shape, array y can't use mask x.x==1.
Is there any way to achieve the equavilent result as pandas does please?
Thanks
python - 重复行并更改列值(python vaex)
我有这个数据框
我想复制 ( ) 的所有行,这些重复的行用 148day_of_year == 140
替换列。day_of_year
也就是说,复制行并同时替换 day_of_year 列并给出值 148
我正在使用 vaex
有人能帮我吗?
python - 如何快速比较两个文本文件并获得唯一行?
我有 2 个文本文件 (*.txt),其中包含以下格式的唯一字符串:
第一个文件包含5000 万行 (4.3 GB),第二个文件包含100 万行 (112 MB)。一行包含 40 个字符、分隔符 : 和另外 45 个字符。
任务:获取两个文件的唯一值。也就是说,您需要一个csv 或 txt文件,其中的行位于第二个文件中,而哪些行不在第一个文件中。
我正在尝试使用vaex(Vaex)来做到这一点:
结果,我得到了具有唯一行值的result.csv文件。但是验证过程需要很长时间。此外,它使用所有可用的 RAM 和所有处理器资源。如何加速这个过程?我究竟做错了什么?有什么可以做得更好?是否值得使用其他库(pandas,dask)进行此检查,它们会更快吗?
UPD 10.11.2020 到目前为止,我没有发现比以下选项更快的东西:
UPD 11.11.2020:感谢 @m9_psy 提供提高性能的提示。它真的更快!目前,最快的方法是:
有没有办法进一步加快这个过程?
python - vaex ValueError:找不到类(AggSum_object),似乎不支持对象
进行聚合时出现以下错误
dfv = vaex.from_csv(_path + 'sample.csv') _monetary = dfv.groupby('CusUnique',agg=vaex.agg.sum('Trn_AMT'))
返回。
“ValueError:找不到类(AggSum_object),似乎不支持对象”
python - 使用 Vaex 读取 Parquet 文件
我正在尝试使用 Vaex 将 Parquet 文件中的一些数据读入 python。
这是我使用该vaex.open
函数得到的输出。
数据帧的长度是正确的,但我不明白这与什么1048576
有关。我找到了关于读取 hdf5 文件的先前答案,但它似乎与我的问题无关。数据最初是从 csv 文件中读取的,然后使用 pyarrow 导出到 parquet。
谁能详细说明问题是什么以及如何解决?
pandas - 在 Pandas 中创建数据框 - 读取 Parquet 文件时出现内存不足错误
我有一台具有 8 GB RAM 和 5 个内核的 Windows 10 机器。
我创建了一个用 gzip 压缩的镶木地板文件。压缩后的文件大小为 137 MB。当我尝试通过 Pandas、dask 和 vaex 读取 parquet 文件时,我遇到了内存问题:
熊猫:
黎明:
维克斯:
由于 Pandas /Python 旨在提高效率,并且 137 mb 文件低于标准大小,是否有任何推荐的方法来创建高效的数据帧?像 Vaex、Dask 这样的库声称非常高效。
vaex - 带有 vaex 的交互式大图
我在 Windows 10 上使用 python 3.8;试图制作一个包含大约 700M 点的图,声波分析。此处:具有约 2000 万个样本点和千兆字节数据的交互式大图
强烈推荐 Vaex。我正在尝试使用 Vaex 教程中的示例,但图表没有出现。我在互联网上找不到一个很好的例子。
Vaex 文档没有提到应该使用 pyplot.show() 来显示。Plot1d 绘制直方图。如何绘制刚刚连接的点?
python - Vaex:如何向 Vaem DataFrame 添加/追加行
如何将数据添加到 Vaex DataFrame?
我可以看到有add_column()
,但没有add/append_row()
我希望使用 Vaex 而不是 Pandas。