首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将熊猫df保存到拼板时出错: AttributeError:模块'fastparquet.parquet_thrift‘没有属性'SchemaElement’

将熊猫df保存到拼板时出错: AttributeError:模块'fastparquet.parquet_thrift‘没有属性'SchemaElement’
EN

Stack Overflow用户
提问于 2022-04-03 22:30:15
回答 1查看 1.2K关注 0票数 1
代码语言:javascript
复制
import pandas as pd
from flatten_json import flatten

actual_column_list = ["_id", "external_id", "email", "created_at","updated_at", "dob.timestamp", "dob_1.timestamp","column_10"]

data = [{'_id': '60efe3333333445', 'external_id': 'ID2', 'dob': {'timestamp': 412214400}, 'email': 'woofwoof@gmail.com', 'created_at': 1626334203, 'updated_at': 1629338900},
        { 'external_id': 'ID3', '_id': '60efe3333333487', 'email': 'meowmeow@gmail.com', 'created_at': 1626334203, 'updated_at': 1629338900, 'dob_1': {'timestamp': 'oops'}}]

df = pd.DataFrame(data=[flatten(row, ".") for row in data], dtype='str', columns=actual_column_list)

with pd.option_context('display.max_rows', None, 'display.max_columns', None):
    print(df)

df.to_parquet(f"test.parquet", engine='fastparquet', compression="snappy", index=False)

显示错误:

代码语言:javascript
复制
root = parquet_thrift.SchemaElement(name=b'schema',
AttributeError: module 'fastparquet.parquet_thrift' has no attribute 'SchemaElement'

Python版本: 3.6.9 pyarrow=5.0.0 fastparquet=0.8.0 numpy=1.19.5 pandas=1.1.5。尝试了Python版本的确切代码片段: 3.7.13 pyarrow=7.0.0 fastparquet=0.8.0 numpy=1.21.5 pandas=1.3.5和it work ,但需要它来处理Python版本: 3.6.9 试图在python3.6.9中显式地使用这些版本,但未能安装依赖项。

我想要的是使上面的代码片段与python3.6.9兼容

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-03 22:40:02

使用快速拼花0.7.2,尽管扣板0.8.0与python3.6兼容,但看起来它需要一个更大的5.0.0版本才能正常工作。因此,必须将紧固件的等级降至0.7.2,这样才能与py箭头5.0.0兼容。

注意:此代码片段可用于获取所有具有空数据类型的列的所有字符串分段,而不将其空值转换为浮动--这是熊猫与pyarrow一起使用时的默认行为--将数据保存到parquet中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71730334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档