python - 根据 groupby 条件删除 pandas 数据帧行
问题描述
我有一个如下所示的熊猫数据框
text name target
0 str1 name1 1
1 str1 name2 3
2 str1 name2 3
3 str2 name1 2
4 str2 name1 2
5 str2 name1 4
6 str3 name3 3
我需要删除那些只出现一次目标类的行。在这种情况下,我需要删除行索引0
,因为并且只出现一次。5
1
4
我查看了这篇文章并在下面尝试:
df[df.groupby(['target']).transform('sum') > 1]
但这似乎不起作用。有人可以建议吗?
解决方案
希望这就足够了:过滤掉目标计数不大于 1 的行
df.groupby('target').filter(lambda x: x.count().gt(1).any())
text name target
1 str1 name2 3
2 str1 name2 3
3 str2 name1 2
4 str2 name1 2
6 str3 name3 3
推荐阅读
- javascript - Open a pop-up on a link using javascript
- browser - 在我的文件浏览器中重命名文件夹会导致 IOException
- f# - Accessing JSon substructure from the very first property in json.NET
- google-apps-script - 在 Google 电子表格底部添加多个行时丢失一些数据
- php - Woocommerce Display Featured and Hidden Products above Shop & Category
- c# - Deserializing returning null even though the response is 200
- sap-basis - 在 SAP 中收到一封电子邮件而不是几封
- javascript - 链接到 Express 反应而不创建反应应用程序
- android - 在 Flutter 路由上传递变量
- c# - 打开/关闭 sql 连接的问题