如何在不删除 NaN 值的情况下删除 pandas 中的重复项
How can I drop duplicates in pandas without dropping NaN values
我有一个要查询的数据框,我只想从特定列中获取唯一值。
我尝试执行此代码:
database = pd.read_csv(db_file, sep='\t')
query = database.loc[database[db_specifications[0]].isin(elements)].drop_duplicates(subset=db_specification[1])
db_specification
只是一个包含我查询的两列的列表。
有些值是 NaN
,我不想将它们视为彼此重复,我该如何实现?
您可以先选择所有 NaN
,然后在数据框的其余部分删除副本。
mask = data.isna().any()
data = pd.concat([data[mask], data[~mask]])
我有一个要查询的数据框,我只想从特定列中获取唯一值。
我尝试执行此代码:
database = pd.read_csv(db_file, sep='\t')
query = database.loc[database[db_specifications[0]].isin(elements)].drop_duplicates(subset=db_specification[1])
db_specification
只是一个包含我查询的两列的列表。
有些值是 NaN
,我不想将它们视为彼此重复,我该如何实现?
您可以先选择所有 NaN
,然后在数据框的其余部分删除副本。
mask = data.isna().any()
data = pd.concat([data[mask], data[~mask]])