为了账号安全,请及时绑定邮箱和手机立即绑定

仅在必要的列上应用 astype(str)

仅在必要的列上应用 astype(str)

扬帆大鱼 2022-06-28 15:32:38
我有一个数据框 df,它有 900 列。当我这样做时,df.to_parquet()它会给出关键错误。您可能会遇到以下错误。只是告诉您"df.to_pickle"在我的代码中一切正常当我这样做时,作为一种解决方法: "df.astype(str);"它将所有列转换为字符串,因此"df.to_parquet"变得成功但是但是...我不想将所有列都转换为'str'。我只想知道所有列具体是什么引起的问题。所以这是我最关心的问题。希望你们现在都明白我的问题了。KeyErrorTraceback (most recent call last)~/.conda/envs/py3/lib/python3.6/site-packages/pyarrow/pandas_compat.py in get_logical_type(arrow_type)     68     try:---> 69         return logical_type_map[arrow_type.id]     70     except KeyError:NotImplementedError: struct<>
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

尝试使用df.select_dtypes(include='object')

更多信息在这里: https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.select_dtypes.html

然后,.astype(str)在每个选定的列上运行。这样,您就不会将其他列转换为字符串。


查看完整回答
反对 回复 2022-06-28
?
慕村225694

TA贡献1880条经验 获得超4个赞

看: https ://github.com/pandas-dev/pandas/issues/21228

要获得更具体的答案,您需要提供有关数据框的更多详细信息(列类型和最小可重现示例)。


查看完整回答
反对 回复 2022-06-28
  • 2 回答
  • 0 关注
  • 637 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号