【发布时间】:2018-06-15 08:29:12
【问题描述】:
我有一个镶木地板文件,它有一个包含几列的简单文件架构。我使用下面的代码将其读入 python
from fastparquet import ParquetFile
pf = ParquetFile('inout_files.parquet')
这运行正常,但是当我使用下面的代码将其转换为 pandas 时,出现以下错误:
df = pf.to_pandas()
错误是:
NotImplementedError: Encoding 4
为了找到错误的来源,我运行了df=pf.to_pandas(columns=col_to_retrieve),分别添加了列,并注意到错误是从具有字符串列表的列之一引发的(例如 ("a","b","c"))作为列的每个单元格的值。
知道有 set(string) 类型的列,你知道如何将其转换为 pandas 吗?
【问题讨论】:
-
可以使用pd.read_parquet 吗?
-
谢谢@jezrael,但是当engine='fastparquet'时我得到同样的错误并且engine='pyarrow',我得到下面的错误,我认为它与同一列问题有关:pyarrow .lib.ArrowIOError:箭头错误:无效:BinaryArray 不能包含超过 2147483646 个字节,有 2147483775
-
我很担心 :( 没有别的想法...
-
我打开了issues.apache.org/jira/browse/PARQUET-1186,关于更优雅地处理具有非常大的二进制数据的列
-
谢谢你
标签: python pandas fastparquet