如何将键数少于DataFrame列数的字典添加为DataFrame新行?
问题描述
- 现有原始DataFrame:
列名包含a和b,共3行数据,结构示例如下:a b 0 1 4 1 2 5 2 3 6 - 给定字典:
result={'a':'cat','b':'kiss'} - 需要生成目标DataFrame:在原始DataFrame基础上新增一行,
a列值为cat,b列值为kiss,最终结构如下:a b 0 1 4 1 2 5 2 3 6 3 cat kiss
解决方案
实现步骤
- 将目标字典转换为单行DataFrame;
- 使用
concat方法将其与原始DataFrame合并,生成最终结果。
代码示例
import pandas as pd # 原始DataFrame(替换为你实际的df) df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]}) # 给定的映射字典 result = {'a': 'cat', 'b': 'kiss'} # 把字典转为单行DataFrame new_row = pd.DataFrame([result]) # 合并两个DataFrame,忽略原索引重新排序 target_df = pd.concat([df, new_row], ignore_index=True) # 打印结果 print(target_df)
可选调整
若需保留原索引(给新行指定自定义索引),可修改代码如下:
new_row = pd.DataFrame(result, index=[3]) target_df = pd.concat([df, new_row])
内容的提问来源于stack exchange,提问作者tungsondkh
相关产品推荐
相关产品推荐

