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

如何在不指定from_dict列参数时向pandas DataFrame追加行?

解决方法:将字典值作为行追加到Pandas DataFrame

原始数据

原DataFrame df1:

a    b
0   1    2
1   3    4

待追加的字典:

dictionary = {'2' : [5, 6], '3' : [7, 8]}

目标结果

a    b
0   1    2
1   3    4
2   5    6
3   7    8

两种简便实现方式

方式一:直接提取字典值构建DataFrame后拼接

无需使用from_dict,直接提取字典的values生成新DataFrame,再与原表拼接:

import pandas as pd

# 原DataFrame
df1 = pd.DataFrame({'a': [1, 3], 'b': [2, 4]})
dictionary = {'2': [5, 6], '3': [7, 8]}

# 用字典值创建新行的DataFrame,指定列名与原表一致
new_rows = pd.DataFrame(dictionary.values(), columns=df1.columns)
# 拼接并重置索引
final_df = pd.concat([df1, new_rows], ignore_index=True)
print(final_df)

方式二:使用from_dict(不指定column参数)转置后拼接

如果必须使用from_dict且不能赋值column参数,可先转置字典生成的DataFrame,再调整列名后拼接:

import pandas as pd

df1 = pd.DataFrame({'a': [1, 3], 'b': [2, 4]})
dictionary = {'2': [5, 6], '3': [7, 8]}

# 用from_dict生成DataFrame(不指定column参数),然后转置
temp_df = pd.DataFrame.from_dict(dictionary).T
# 匹配原DataFrame的列名
temp_df.columns = df1.columns
# 拼接并重置索引
final_df = pd.concat([df1, temp_df], ignore_index=True)
print(final_df)

两种方式都能得到目标结果,方式一更直接简洁,方式二则严格符合你提出的from_dict使用约束。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:20:23