我正在尝试读取分区的Parquet文件使用:
df = pd.read_parquet(basepath_to_files)
然而,这会引起错误:ArrowInvalid: Cannot yet unify dictionaries with nulls。从单个(未分区).parquet文件中阅读完全相同的数据不会引发错误。如何加载此分区数据?
ArrowInvalid: Cannot yet unify dictionaries with nulls
yc0p9oo01#
依赖默认设置可能不是最好的主意,特别是因为这些设置在相对较新的版本中已经发生了变化。如果你还没有的话,一定要看看pandas docs。对null类型的引用太多,无法忽略:
*use_nullable_dtypesbool,默认为False
可能首先检查您的pd.__version__,看看您在这方面的位置。然后如果你是2.0以上的版本,添加参数dtype_backend = ‘pyarrow’看起来是第一件要尝试的事情。
pd.__version__
dtype_backend = ‘pyarrow’
1条答案
按热度按时间yc0p9oo01#
依赖默认设置可能不是最好的主意,特别是因为这些设置在相对较新的版本中已经发生了变化。如果你还没有的话,一定要看看pandas docs。对null类型的引用太多,无法忽略:
*use_nullable_dtypesbool,默认为False
*自2.0版起已弃用。
*dtype_backend 'numpy_nullable','pyarrow'},default 'numpy_nullable'
*2.0版新增功能。
可能首先检查您的
pd.__version__
,看看您在这方面的位置。然后如果你是2.0以上的版本,添加参数dtype_backend = ‘pyarrow’
看起来是第一件要尝试的事情。