如何优雅地为Pandas DataFrame添加单个值与行?
Pandas优雅添加单行/单列值的解决方案
针对你提到的两种场景,推荐使用DataFrame.loc直接赋值的方式,比pd.concat或已弃用的pd.append更简洁:
1. 添加完整行(如["Dog", "Medium"])
直接通过loc[len(df)]定位新行,赋值对应数据:
import pandas as pd animal_sizes = pd.DataFrame({"Animal": ["Horse", "Mouse"], "Size": ["Large", "Small"]}) # 添加完整行 animal_sizes.loc[len(animal_sizes)] = ["Dog", "Medium"]
执行后DataFrame变为:
| Animal | Size |
|---|---|
| Horse | Large |
| Mouse | Small |
| Dog | Medium |
2. 仅为单列添加值(如Animal列加"Crow")
指定列名赋值,未指定的列会自动填充NaN:
# 仅添加Animal列的值 animal_sizes.loc[len(animal_sizes), "Animal"] = "Crow"
执行后DataFrame变为:
| Animal | Size |
|---|---|
| Horse | Large |
| Mouse | Small |
| Dog | Medium |
| Crow | NaN |
补充说明
如果需要批量添加多行/多值,pd.concat依然是高效的选择,但单行/单个值的场景下,loc赋值的方式更直观简洁,完全匹配你想要的类似append_row/append_value的需求。
内容的提问来源于stack exchange,提问作者henning no longer feeds AI
相关产品推荐
相关产品推荐

