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

为何使用Pandas将单个字典转为DataFrame时出现重复行?

问题分析:标量字典转DataFrame出现重复行的原因

首先明确:在Pandas 1.4.2中,用所有值都是标量(单个int/str等)的字典创建DataFrame,正常情况下应该生成仅1行的数据。你遇到两行重复的情况,大概率是以下几种原因:

可能的原因

  • 字典值被隐式转为长度为2的序列:
    如果你的字典中某个键的值实际上是长度为2的列表/数组(比如误写为'id': [1,1]而非'id':1),Pandas会自动将所有标量值广播到相同长度,最终生成2行数据。哪怕你代码里写的是标量,也可能在执行过程中被无意修改(比如之前的代码对字典做了追加操作)。

  • 误将字典重复传入:
    如果你不小心把字典放进了包含两个相同元素的列表中(比如pd.DataFrame([d, d])),会直接生成两行完全重复的数据。

  • 交互环境的输出重复:
    若你在Jupyter Notebook或IPython这类交互环境中重复执行了创建+打印的代码块,可能会看到两次相同的单行输出,看起来像是两行重复数据,但实际DataFrame本身只有1行。

验证与解决方法

要确认数据本身的行数,可以执行print(df.shape):

import pandas as pd
d = {'id': 1, 'name': 'Pizza', 'calories': 234}
df = pd.DataFrame(d)
print(df.shape)  # 正常输出应为(1, 3)

如果要确保生成单行DataFrame,推荐显式指定索引:

df = pd.DataFrame(d, index=[0])  # 明确指定仅1行

或者使用from_dict并转置:

df = pd.DataFrame.from_dict(d, orient='index').T

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:42:51