我有这样一个数据帧:
A B
239616412 none
239616414 name2
239616417 none
239616417 none
239616417 none
239616418 name1
239616418 none
239616428 name1
239616429 none
239616429 none
239616429 name1
我想删除列A的重复项,并且我希望保留其中包含任何名称的行(!=none,基本上)在列B中,但是如果所有重复项中的唯一值是none,我仍然希望保留它(比如239616417
)。在
应减少到:
^{pr2}$
这里有一个解决方案。在
首先按“B”列排序:
然后删除重复的w.r.t.列“A”:
^{pr2}$您可以对数据帧进行重新排序以获得所需的内容:
如果你想删除任何副本,这应该可以。排序将把所有有效的条目放在NAs之后,因此它们在
drop_duplicate
逻辑中具有优先权。在如果您希望保留重复的有效值,可以执行类似的操作,将数据拆分为nulls/notnull,然后重新组合。在
^{pr2}$相关问题 更多 >
编程相关推荐