pandas drop_duplicates删除空值的问题



Im使用drop_duplicates从基于列的数据帧中删除重复项,问题是该列对于某些条目是空的,而那些结束删除的条目是否有方法使函数忽略空值。这是一个的例子

Title                  summary                  
0   TITLE A                summaryA       
1   TITLE A                summaryB  
2                          summaryC       
3                          summaryD

使用这个

data.drop_duplicates(subset ="TITLE", 
keep = 'first', inplace = True)

我得到这样的结果:

Title                  summary                  
0   TITLE A                summaryA        
2                          summaryC

但由于最后两行不是重复的,我想保留它们。drop_duplicates有办法忽略空值吗?

用索引号填充缺失的值?也许不是最漂亮的方式,但它可以

df = pd.DataFrame(
{'Title':['TITLE A', 'TITLE A', None, None], 'summary':['summaryA', 'summaryB', 
'summaryC', 'summaryD']}
)
df['_id'] = df.index
df['_id'] = df['_id'].apply(str)
df['Title2'] = df['Title'].fillna(df['_id'])  
df.drop_duplicates(subset ="Title2", keep = 'first')

您可以执行此

data.drop_duplicates(subset ="TITLE", 
keep = 'last', inplace = True)

最新更新