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

如何在一行代码中移除pandas DataFrame.to_dict输出的索引键?

如何将DataFrame统计描述的嵌套字典转为单层字典?

我有一个包含整数/浮点数的列表v(元素数量可超过500个),执行以下代码后:

np_arr = pd.DataFrame(np.around(np.array(v), 5)).describe().to_dict()

得到的是带列索引键的嵌套字典:

{0: {'count': 2.0, 'mean': 140950000.0, 'std': 0.0, 'min': 140950000.0, '25%': 140950000.0, '50%': 140950000.0, '75%': 140950000.0, 'max': 140950000.0}}

想直接把它转换成只包含统计指标的单层字典:

{'count': 2.0, 'mean': 140950000.0, 'std': 0.0, 'min': 140950000.0, '25%': 140950000.0, '50%': 140950000.0, '75%': 140950000.0, 'max': 140950000.0}

请问能不能在一行代码里直接实现这个转换?


解决方案:可以,两种方法直接实现

因为你是把一维数组转成了单列DataFrame,describe()返回的结果也是单列的DataFrame,只要把这一列提取为Series再转字典即可,一行代码就能完成:

方法1:直接取列索引对应的Series

np_arr = pd.DataFrame(np.around(np.array(v), 5)).describe()[0].to_dict()

方法2:用squeeze()压缩单列DataFrame为Series

np_arr = pd.DataFrame(np.around(np.array(v), 5)).describe().squeeze().to_dict()

原理说明

  • describe()返回的是一个DataFrame,列名对应原DataFrame的列索引(此处为0),行索引为统计指标;
  • 用[0]或squeeze()可将单列DataFrame转换为以统计指标为索引的Series,调用to_dict()后直接得到以统计指标为键的单层字典。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:10:29