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

使用特定方法应用groupby后保留整行[duplicate]

仲和韵
2023-03-14

我有一个数据框,如下所示:数据框:

column_A column_B, column_C
  2        3        5            row= 0
  2        3        6            row= 1
  3        4        2            row= 2
  3        4        9            row= 3

我试图做的是检查列A和列B的值相同的行,并获得每个组的最大值:更准确地说:在我的示例中,我希望得到行1和行3。因此,预期产出应为:

column_A column_B, column_C
  2        3        6            row= 1
  3        4        9            row= 3

我尝试将groupby with max方法应用于列_C:这似乎可行,但我得到的输出是列_C。以下是我的代码:

test_df=pd.DataFrame([[2,3,5],[2,3,6],[3,4,2],[3,4,9]],columns=['column_A','column_B','column_C'])
result= test_df.groupby(['column_A','column_B'], sort=False)['column_C'].max()
print(result)

结果如下

column_A  column_B
2         3           6
3         4           9
Name: column_C, dtype: int64

我知道为什么我有一个serie(因为我对列_C应用了max方法),但我无法找到一种方法来获取相应的行,而不是只获取列_C值。

共有1个答案

黄信厚
2023-03-14

使用排序\u值删除重复项

df.sort_values('column_C').drop_duplicates(['column_A','column_B'],keep='last')
Out[186]: 
   column_A  column_B  column_C
1         2         3         6
3         3         4         9
 类似资料:
  • 当我使用或方法时,我得到了错误的结果。 例如: 在另一种方法中,我只得到结果1 我得到了正确的结果。 当使用方法时,我得到了错误的结果。 https://github.com/laravel/framework/issues/14123 忘了说,我的laravel版本信息: 项目中的实际问题 我有一张充电记录表。 1.pay日志表 1.1支付日志talbe数据 2.说明 在pay_log表中,1和

  • 如果你默认使用Markdown编辑器编辑文档,但是文字中存在一些 Markdown 的保留字。 例如: 表中中出现 | 需要输入 ` 需要成对的出现 [ ] >和<也是需要转义后才能显示。 等等,一些特殊需求。可以通过unicode编码来解决。 将要输入的字符进行转义,之后使用转义字符即可。 常见转义字符: 原字符 转义字符 | | ` ` ] ] [ [ > &gt; < &lt; @ @ #

  • 问题内容: 在我当前的项目中,我正在使用没有JPA批注的第三方库。 如何使用JPA和外部映射持久化该库中的对象? 问题答案: 检查这个和这个。简而言之: 创造 跟随(阅读) 您不必手动映射每列-只需提供一些细节(即集合和ID)。假定所有字段都是列(如果映射了类)。如果没有集合,则可以使用如下所示的内容: 请注意,指定时不需要完全限定的名称。 如果您想要的文件名称不同于,则可以通过以下方式指定该文件

  • 在使用方法后,我无法使用方法。这是下面给出的注意事项.... 在hacker Rank中注意:(如果您在方法之后立即使用方法,请记住读取整数令牌;因此,该行整数输入的最后一个换行符仍在输入缓冲区中排队,下一个将读取整数行的剩余部分(为空)。nextLine方法不会被跳过,但它为空。代码: 输出:string:double:3.1415 int:42

  • 我有一个方法希望使用Spring运行一次,它需要在给定的(或)。我计划将该方法应该执行的所有日期持久化到数据源。它应该异步运行。 一种方法是每天检查数据库中的日期,如果日期已过且尚未执行,则执行该方法。有没有更好的方法? 我知道Spring提供了和。我正在查看界面中的。我需要创建Spring托管bean来调用我的方法吗?或者有更简单的注释可以做到这一点吗?举个例子真的很有帮助。 (也看了这里。)

  • 您知道(如果可能的话)如何在spring boot微服务中为特定endpoint预留线程/内存吗? 我有一个通过Spring MVC接受HTTP请求的微服务,这些请求触发对第三个系统的HTTP调用,第三个系统有时会部分降级,并且响应非常慢。我不能减少超时时间,因为有一些调用本质上非常慢。 我启用了spring-boot-acturetendpoint,并且像使用kubernetes集群中的容器一样