当前位置: 首页 > 知识库问答 >
问题:

基于Pandas中的多个列筛选并显示所有重复行[重复]

伯庆
2023-03-14

给定一个数据集如下:

    name     month  year
0    Joe  December  2017
1  James   January  2018
2    Bob     April  2018
3    Joe  December  2017
4   Jack  February  2018
5   Jack     April  2018

我需要根据Pandas中的列过滤和显示所有重复的行。

通过下面的代码,我得到:

df = df[df.duplicated(subset = ['month', 'year'])]
df = df.sort_values(by=['name', 'month', 'year'], ascending = False)

出:

   name     month  year
3   Joe  December  2017
5  Jack     April  2018

但我希望结果如下:

    name     month  year
0    Joe  December  2017
1    Joe  December  2017
2    Bob     April  2018
3   Jack     April  2018

我怎么能在熊猫里做到这一点?

共有1个答案

艾晋
2023-03-14

以下代码可以通过添加保持=False来工作:

df = df[df.duplicated(subset = ['month', 'year'], keep = False)]
df = df.sort_values(by=['name', 'month', 'year'], ascending = False)
 类似资料:
  • 我正在尝试根据两个行值筛选出行。我看到的大多数问题的解决方法都采用以下方法: 可能我在这里弄得很混乱,这很简单。无论如何,任何帮助都将不胜感激! 问候

  • 我是一个新的Python学习者,我不知道该怎么做。 假设我有一个这样的数据框: 我只想为每个标题选择行,查看的小时数最多,结果如下: 提前感谢您。

  • 函数非常适合统一数据帧。但是,要传递的关键字参数之一是或,而我希望删除列子集中所有重复的行。这有可能吗? 例如,我想删除与列和匹配的行,因此这应该删除行0和1。

  • 我有一个包含值和附加信息的数据框架。我希望能够提取只属于一种信息的值。我不知道会预先查询哪些值和多少值。所以,有可能只调用一次带有附加信息“foo”的值,有时使用附加信息“bar”和“baz”,所以使用简化的数据帧 我试过了 但是我得到了一个ValueError:级数的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all()。但是我无法使用any()-函

  • 如果我定义一个像这样的分层索引数据框: 内容如下所示: 我知道如何提取与给定列对应的数据。例如。对于列: 如何提取符合以下标准集的数据: , , , column , , 列 和 、、列、以及从开始的所有列 是偶数 (顺便说一句,我做了不止一次rtfm,但我真的觉得难以理解。)

  • 我正在寻找一种最干净的方式来显示一个元素,基于什么是从Angular 2中的表单下拉菜单中选择的。 我做错了什么? 谢谢你在这方面的帮助。