我正在尝试使用 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。
谁能详细说明问题是什么以及如何解决?