You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Pandas DataFrame列类型转为指定格式的字典?

解决Pandas DataFrame类型字典格式化问题

问题场景

现有如下Pandas DataFrame:

A   B   C  D
0  56  89  16  b
1  51  41  99  b
2  49   3  72  d
3  15  98  58  c
4  92  55  77  d

需要生成一个键为列名、值为字符串格式数据类型的字典。使用df.dtypes.to_dict()得到的结果包含dtype对象,不符合需求:

{'A': dtype('int64'), 'B': dtype('int64'), 'C': 'int64', 'D': dtype('O')}

期望得到的目标格式:

{'A': 'int64', 'B': 'int64', 'C': 'int64', 'D': 'object'}

解决方案

以下几种方法都可以实现需求:

方法1:字典推导式

遍历原字典的键值对,将每个dtype对象转换为字符串:

dtypes = {col: str(dtype) for col, dtype in df.dtypes.to_dict().items()}

方法2:利用astype(str)转换后转字典

直接对df.dtypes这个Series做字符串类型转换,再转为字典,代码更简洁:

dtypes = df.dtypes.astype(str).to_dict()

方法3:使用apply(str)转换

通过apply方法逐个将dtype转为字符串,再生成字典:

dtypes = df.dtypes.apply(str).to_dict()

以上三种方法最终都会输出符合要求的字符串格式类型字典,其中方法2和3的写法更高效简洁。

内容的提问来源于stack exchange,提问作者itthrill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 01:05:00