pandas - 熊猫 drop_duplicates 删除空值的问题
问题描述
我使用 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')
推荐阅读
- javascript - 在 useEffect 中使用 prop 函数返回:prop.function 不是函数
- angular - Angulars detectChanges() 和 markForCheck() 是否与默认更改检测策略相关?
- c++ - 我无法在代码块中运行 c++ 代码,该怎么办?
- react-native - React Native:你必须为 AsyncStorage 做手动链接吗?
- android - Android Studio:“启动时运行”缺少权限
- vhdl - 当数组类型在同一个包中重载时,如何访问隐式“=”函数?
- android - Android:未触发与包相关的意图
- azure - Azure devops 无法连接到 jfrog Artifactory
- python - 如何在 Python 套接字中传递变量?
- javascript - 如何解决javascript“未处理的承诺拒绝”和“属性'p'不存在”错误?