问题标签 [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 回答
450 浏览

python - Hdf5 文件中未显示的列

我有一个大型数据集(13 亿数据),我想用 Vaex 进行可视化。由于 csv 中的数据集非常大(520 个单独文件中大约 130gb),我将它们合并到一个 hdf5 文件中,并使用 pandas dataframe.to_hdf 函数(格式:表,为每个 csv 文件附加)。如果我使用 pandas.read_hdf 函数加载一片数据,没有问题。

这就是它的样子,我可以访问我想要的任何列,并且形状应该是 (1000,3)。但是,当我尝试使用 vaex.open 函数加载 hdf5 文件时:

这就是我得到的。形状是 (1322286741, 1),只有列是“表”。当我尝试将 vaex 导入的 hdf 称为 galacto[0] 时:

在 pandas 导入的数据中,这些是第一行的 x、y、z 列。当我试图检查另一个问题中的数据时,它也给出了一个错误,说没有找到数据。所以我认为问题是熊猫逐行附加hdf5文件,它在其他程序中不起作用。有没有办法解决这个问题?

0 投票
1 回答
854 浏览

python - 在 vaex 中修改 hdf5 文件的工作流程

作为对我之前的问题 [1] 的跟进,有没有办法在 vaex 中打开 hdf5 数据集,执行操作,然后将结果存储到同一个数据集?

我尝试了以下方法:

这会导致错误OSError: Unable to create file (unable to truncate a file which is already open),因此h5py在文件打开时无法写入文件。是否有另一个工作流程来实现这一目标?我可以写入另一个文件作为解决方法,但这似乎效率很低,因为(我想)它还必须复制所有未更改的数据。

[1]将通过 pandas/pytables 编写的大型 hdf5 数据集转换为 vaex

0 投票
2 回答
1944 浏览

python - Python vaex 如何从 CSV 文件创建数据框?

为什么我只得到最后一列

为什么我只得到最后一列

0 投票
1 回答
801 浏览

python - 如何解决 ValueError:数组长度为 %s,而 DataFrame 的长度为 %s?

我正在尝试按照此笔记本上的示例进行操作。

正如这个github 线程中所建议的:

  1. 我已将 ulimit 提高到 9999。
  2. 我已经将 csv 文件转换为 hdf5

尝试将单个 hdf5 文件打开到数据框中时,我的代码失败:

这是其余的代码:

产生的错误:

错误:主线程:vaex:打开“数据/chat_history_00.hdf5”时出错 --------------------------------- ---------------------------------------------------- ValueError Traceback(最近一次调用最后一次)在 1 # 检查单个文件的样子: ----> 2 df = vaex.open('data/chat_history_10.hdf5') 3 df

/usr/local/anaconda3/lib/python3.7/site-packages/vaex/ init .py 在打开(路径,转换,随机播放,copy_index,*args,**kwargs)207 ds = from_csv(路径,copy_index=copy_index , **kwargs) 208 else: --> 209 ds = vaex.file.open(path, *args, **kwargs) 210 if convert and ds: 211 ds.export_hdf5(filename_hdf5, shuffle=shuffle)

/usr/local/anaconda3/lib/python3.7/site-packages/vaex/file/ init .py in open(path, *args, **kwargs) 39 break 40 if dataset_class: ---> 41 dataset = dataset_class (path, *args, **kwargs) 42 返回数据集 43

/usr/local/anaconda3/lib/python3.7/site-packages/vaex/hdf5/dataset.py in init (self, filename, write) 84 self.h5table_root_name = None 85 self._version = 1 ---> 86 self._load() 87 88 def write_meta(self):

/usr/local/anaconda3/lib/python3.7/site-packages/vaex/hdf5/dataset.py in _load(self) 182 def _load(self): 183 if "data" in self.h5file: --> 184 self._load_columns(self.h5file["/data"]) 185 self.h5table_root_name = "/data" 186 if "table" in self.h5file:

/usr/local/anaconda3/lib/python3.7/site-packages/vaex/hdf5/dataset.py in _load_columns(self, h5data, first) 348 self.add_column(column_name, self._map_hdf5_array(data, column['mask '])) 349 else: --> 350 self.add_column(column_name, self._map_hdf5_array(data)) 351 else: 352 transposed = shape 1 < shape[0]

/usr/local/anaconda3/lib/python3.7/site-packages/vaex/dataframe.py in add_column(self, name, f_or_array, dtype) 2929
if len(self) == len(ar): 2930 raise ValueError( “数组的长度为 %s,而 DataFrame 的长度为 %s,由于过滤,(未过滤的)长度为 %s。” % (len(ar), len(self), self.length_unfiltered()) ) -> 2931 raise ValueError("array is of length %s, while the length of the DataFrame is %s" % (len(ar), self.length_original())) 2932 # assert self.length_unfiltered() == len (data), "列的长度应该相等,长度应该是 %d,而它是 %d" % ( self.length_unfiltered(), len(data)) 2933 valid_name = vaex.utils.find_valid_name(name)

ValueError:数组长度为2578961,而DataFrame的长度为6

这是什么意思,我该如何解决?所有文件都有 6 列。

编辑:这是我创建 hdf5 文件的方式:

0 投票
1 回答
416 浏览

python - windows下的vaex二进制安装

安装 Python 包可能会令人沮丧。也许我是唯一一个仍然卡在 Windows 中的可怜可怜虫,而世界却在 Mac 和 Linux 中快乐地生活着他们的世界

我正在尝试在 Windows 的 venv 环境中安装 vaex。但我遇到了以下不可移动的企业障碍:

  1. pip install 是不可能的,因为我无法安装需要管理员权限的 Visual C++ Build Tools
  2. 直接 Git 下载或克隆需要 Visual C++ 构建工具
  3. Conda 仅支持 4.3 版,当我尝试使用 conda-forge 通道安装时,我不允许设置代理
  4. Conda 4.3 不接受通过命令行设置代理服务器。我无法让 conda 使用 .condarc 文件。我提出的解决方案是升级到 4.4,但我无法做到
  5. 当我尝试将 conda 升级到 4.4 时,会弹出其他依赖项。conda upgrade conda 迫使我进入我需要升级/安装的软件包的完整列表,而我没有选择选择conda

或者,我该怎么做才能在其他地方编译所有必需的并重新打包整个软件包以进行安装?

0 投票
1 回答
283 浏览

python - vaex:检查两个帧之间是否相等

是否vaex有任何实用函数可以帮助检查两个数据帧之间的相等性?

例如:pandas必须pandas.testing.assert_frame_equal检查两个框架是否包含相同的列和值,这在编写单元测试时非常好。有没有类似的东西vaex?或者也许有另一种方便的方法来实现这一点?

0 投票
0 回答
659 浏览

python - 如何对 vaex 中的列进行 json 规范化?

给定一个嵌套的 json,有没有办法在 vaex 中加载和展平它?

这是在熊猫中做到这一点的一种方法:

json可能是这样的:

并且数据框的列应该是“timestamp”、“id”、“type”和“name”。

0 投票
1 回答
2446 浏览

python - Vaex 日期时间比较

我有一个从 hdf5 文件中读取的 vaex 数据框。它有一个日期列,它被读取为字符串。我将其转换为日期时间。但是,我无法进行任何日期比较。我可以从日期中提取日、月、年等,因此转换是正确的。但是如何执行日期在 x 和 y 之间的操作?

数据类型符合预期

现在我需要根据某个日期过滤掉行

当我尝试查看新的数据框时,我得到了一个无效的令牌。我可以分别提取月份和年份并应用过滤器。但这会给出错误的结果

如何在 vaex 中进行日期范围比较操作?

0 投票
2 回答
688 浏览

python - vaex:将列移动 n 步

我正在为监督学习任务准备一个大型多元时间序列数据集,我想创建输入特征的时移版本,以便我的模型也从过去的值推断。有pandas一个shift(n)命令可以让你逐行移动一列n。有没有类似的东西vaex

vaex我在文档中找不到任何可比的东西。

0 投票
1 回答
1026 浏览

python - vaex Object dtype dtype('O') 没有本机 HDF5 等效项

我使用 vaex.from_csv() 将 csv 转换为 hdf5 。

得到

这些错误是什么意思?