如何验证并向Pandas数据集/数据框追加不存在的行?
向Pandas数据集追加不存在的行(按姓名验证)
要实现先验证姓名不存在再追加行的需求,可在追加前通过判断姓名是否存在于现有数据集的Name列中来完成,具体代码及说明如下:
import pandas as pd # 初始化原始数据集 df = pd.DataFrame.from_dict({ 'Name': ['Nik', 'Kate', 'Evan', 'Kyra'], 'Age': [31, 30, 40, 33], 'Location': ['Toronto', 'London', 'Kingston', 'Hamilton'] }) # 定义待添加的记录 new_record = {'Name':'Jane', 'Age':25, 'Location':'Madrid'} # 验证姓名是否不存在于现有数据集中 if new_record['Name'] not in df['Name'].values: # 仅当姓名不存在时追加行,ignore_index=True用于重置索引避免重复 df = df.append(new_record, ignore_index=True) # 输出最终数据集 print(df)
核心逻辑说明
- 存在性校验:通过
new_record['Name'] not in df['Name'].values判断待添加姓名是否不在现有Name列的取值集合中,values将列转换为可直接判断的数组。 - 条件追加:只有校验通过(姓名不存在)时才执行追加操作,避免生成重复行。
- 索引处理:
ignore_index=True参数确保追加后数据集的索引连续无重复,避免后续操作出现索引异常。
内容的提问来源于stack exchange,提问作者jislesplr
相关产品推荐
相关产品推荐

