python 我无法通过数据类型错误将df转换为parquet

68bkxrlz  于 2023-05-16  发布在  Python
关注(0)|答案(3)|浏览(211)

我试图将pandas dataframe转换为parquet,但我得到一个错误“Exptected bytes,got a 'int' object”,'Conversion failed for column xxxxxxxx with type object')Excel中的此表有数字和字符串,它就像dtype 'object',即使这样它也会出错。我试过df['xxxxxxxx'].astype(str),df['xxxxxxxx'].astype('data_type'),但都不起作用。我试着用AWS Wrangler和Pyarrow转换为 parquet

uxh89sit

uxh89sit1#

this other question中所述
一般类型的列可以工作。所以试试看:

df['xxxxxxxx'] = df['xxxxxxxx'].astype(str)
df.to_parquet(path)

但是,这不是一个好的做法,因为这将隐藏类型错误,您应该考虑通过分隔数据来修复列的类型,或者注意该列具有不同的类型。Pandas针对以下类型的错误提供了警告:

Columns (# of column) have mixed types. Specify dtype option on import or set low_memory=False.
xqk2d5yq

xqk2d5yq2#

你有没有试过:

df['xxxxxxxx'] = df['xxxxxxxx'].astype(bytes)
ssgvzors

ssgvzors3#

我也有同样的问题。为to_parquet方法设置engine='fastparquet'参数对我很有帮助。

相关问题