我在数据框中有一组人,我需要在主数据集中没有出现的人的列表。目前我正在检查名字和姓氏
data_to_check_dataset
是需要检查的输入数据,它包含许多列,但目前我只需要检查first_name
,last_name
。
<表类>
first_name
last_name
…
tbody><<tr>0 詹姆斯 苹果 … 1爱丽丝 测试 … … … … … 10000 保罗 测试 … 表类>
这就是错误所说的,所以一种方法是使用astype()
将两个df的first_name和last_name类型区分为string:
data_to_check_dataset[['first_name','last_name']]=data_to_check_dataset[['first_name','last_name']].astype(str)
current_people_dataset[['first_name','last_name']]=current_people_dataset[['first_name','last_name']].astype(str)
最后将replace()
链接到当前将字符串nan转换回实际nan的方法:
new_people_names = (pd.merge(data_to_check_dataset,current_people_dataset, indicator=True, how='outer',on=['first_name','last_name'])
.query('_merge=="left_only"')
.drop('_merge', axis=1)
.replace('nan',float('NaN'),regex=True))