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)