Pandas 无法将dataframe转换为拼花地板,TypeError
我试图将数据帧转换为拼花地板文件。但我面临以下错误Pandas 无法将dataframe转换为拼花地板,TypeError,pandas,pyarrow,Pandas,Pyarrow,我试图将数据帧转换为拼花地板文件。但我面临以下错误 result = pa.array(col, type=type_, from_pandas=True, safe=safe) File "pyarrow\array.pxi", line 265, in pyarrow.lib.array File "pyarrow\array.pxi", line 80, in pyarrow.lib._ndarray_to_array File &quo
result = pa.array(col, type=type_, from_pandas=True, safe=safe)
File "pyarrow\array.pxi", line 265, in pyarrow.lib.array
File "pyarrow\array.pxi", line 80, in pyarrow.lib._ndarray_to_array
File "pyarrow\error.pxi", line 107, in pyarrow.lib.check_status
pyarrow.lib.ArrowTypeError: ('Expected a string or bytes dtype, got float64', 'Conversion failed for column NOTES with type float64')
列类型是varchar,因此它将转换为str。但是该列的记录中有一些数值,我怀疑数据帧是否将它们解析为float。因此,在转换为拼花地板时,它返回一个产生错误的浮点值
是否有办法将这些记录的值转换为str格式
我尝试使用astype(str),但没有成功
是的,拼花地板要求每根柱子有一种类型。要修复上述情况(即混合值类型),请将其转换为如下所示的“字符串”:
df['NOTES'] = df['NOTES'].astype('string')
# & then ... df.to_parquet(...)
您能否澄清一下,在使用
astype(str)
时,哪些地方不起作用?有同样的错误吗?另外,您是否能够提供一个可重复的小示例?您链接到的内容实际上提到了astype(str)
作为一种解决方法。