[英]Reading a Parquet file using Vaex
我正在尝试使用 Vaex 从 Parquet 文件将一些数据读入 python。
这是我使用vaex.open
函数得到的输出。
>>> import vaex
>>> trade = vaex.open('trade.parquet')
>>> trade
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 3703, in __repr__
return self._head_and_tail_table(format='plain')
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 3464, in _head_and_tail_table
return self._as_table(0, n, N - n, N, format=format)
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 3599, in _as_table
parts = table_part(i1, i2, parts)
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 3573, in table_part
df = self[k1:k2]
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 4626, in __getitem__
df = self.trim()
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 3859, in trim
df = self if inplace else self.copy()
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 5036, in copy
df.add_column(name, column, dtype=self._dtypes_override.get(name))
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 6053, in add_column
super(DataFrameArrays, self).add_column(name, data, dtype=dtype)
File "/home/userman/.local/lib/python3.6/site-packages/vaex/dataframe.py", line 2942, in add_column
raise ValueError("array is of length %s, while the length of the DataFrame is %s" % (len(ar), self.length_original()))
ValueError: array is of length 1048576, while the length of the DataFrame is 34421587
数据帧的长度是正确的,但我不明白1048576
与什么有关。 我找到了有关读取 hdf5 文件的先前答案,但它似乎与我的问题无关。 数据最初是从 csv 文件中读取的,然后使用 pyarrow 导出到 parquet。
任何人都可以详细说明问题是什么以及如何解决它?
我遇到了同样的问题,因此,我假设您使用的是 vaex 3.x 尝试最新的 alpha 4.0.0a13,最好是在新的虚拟环境中。
pip install vaex==4.0.0a13
截至 2021 年 3 月 9 日, vaex 4
已发布并在 pypi 中标记为默认版本,因此不再需要指定版本。
pip install vaex
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.