我有一个dataframe,看起来像这样:
| 项目|记事本|圆珠笔|铅笔|橡皮擦|铅笔刀|订书机|纸|剪刀|胶|
| - -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|
| 图片1|一个|0|一个|一个|0| 0| 0| 0| 0|
| 图片2| 0|一个|0| 0| 0| 0|一个|0| 0|
| 图片3| 0| 0| 0| 0|一个|0| 0| 0| 0|
| 图片4| 0| 0| 0| 0| 0|一个|0| 0| 0|
| 图片5| 0| 0| 0| 0| 0| 0| 0|一个|0|
我想删除在不同列中有多个1
的行,所以它变成这样:
| 项目|记事本|圆珠笔|铅笔|橡皮擦|铅笔刀|订书机|纸|剪刀|胶|
| - -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|
| 图片3| 0| 0| 0| 0|一个|0| 0| 0| 0|
| 图片4| 0| 0| 0| 0| 0|一个|0| 0| 0|
| 图片5| 0| 0| 0| 0| 0| 0| 0|一个|0|
2条答案
按热度按时间gblwokeq1#
使用numpy mask:
应该比基于pandas的计算更快。
vqlkdk9b2#
您可以使用布尔索引,匹配或值的
sum
(如果只有0/1)作为引用:或者:
输出:
中间分度系列: