根据 Pandas 中的多个条件过滤分组行

2024-02-29

给定一个数据框如下:

  city district        date  price
0   bj       cy  2019-03-01    NaN
1   bj       cy  2019-04-01    6.0
2   sh       hp  2019-03-01    4.0
3   sh       hp  2019-04-01    3.0
4   bj       hd  2019-03-01    7.0
5   bj       hd  2019-04-01    NaN

我需要过滤分组的行city and district当满足以下两个条件时:date is 2019-04-01 and price is NaN.

我已经用以下代码进行了测试:

df['date'] = pd.to_datetime(df['date']).dt.date.astype(str)
df.groupby(['city','district']).filter(lambda x: (x['price'].isnull() & x['date'].isin(['2019-04-01'])).any())

Out:

  city district        date  price
4   bj       hd  2019-03-01    7.0
5   bj       hd  2019-04-01    NaN

另一个测试:

df.groupby(['city','district']).filter(lambda x: (x['price'].isnull() & x['date']).any())

Out:

  city district        date  price
0   bj       cy  2019-03-01    NaN
1   bj       cy  2019-04-01    6.0
4   bj       hd  2019-03-01    7.0
5   bj       hd  2019-04-01    NaN

但我需要的是如下。我该如何修改上面的代码?多谢。

  city district      date  price
0   bj       cy  2019/3/1    NaN
1   bj       cy  2019/4/1    6.0
2   sh       hp  2019/3/1    4.0
3   sh       hp  2019/4/1    3.0

我认为你需要反转面具 - 这里& to |, isnull to notna, eq to ne and any to all:

df['date'] = pd.to_datetime(df['date'])

f = lambda x: (x['price'].notna() | x['date'].ne('2019-04-01')).all()
df = df.groupby(['city','district']).filter(f)
print (df)
  city district       date  price
0   bj       cy 2019-03-01    NaN
1   bj       cy 2019-04-01    6.0
2   sh       hp 2019-03-01    4.0
3   sh       hp 2019-04-01    3.0

或者可以使用not用于反转布尔值True to False and False to True:

f = lambda x: not (x['price'].isnull() & x['date'].eq('2019-04-01')).any()
df = df.groupby(['city','district']).filter(f)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据 Pandas 中的多个条件过滤分组行 的相关文章

随机推荐

  • Laravel-多对一多态关系

    我正在使用 Laravel 5 1 场景如下 此为示例 真实场景与此示例类似 我有3个型号 大学 学生 Teacher 一所学院可以有很多学生 但一个学生只能属于一所学院 一所学院可以有多名教师 但一名教师只能属于一所学院 我想在 lara
  • 何时在 MySQL 中使用外键

    是否有官方指南或阈值来指示何时在 MySQL 数据库中使用外键是最佳实践 假设您为电影创建了一个表 一种方法是将制片人和导演数据集成到同一个表中 电影 ID 电影名称 导演姓名 制片人姓名 然而 假设大多数导演和制片人都制作过许多电影 最好
  • 如何选择 jQuery drop down val() 并触发事件?

    我在下拉菜单中注册了一个 jQuery 插件 如下所示 country linkToStates province 我手动选择下拉菜单 如下所示 country val United States 但是 onchange 事件没有触发之前注
  • git status 显示我在 .gitignore 文件中明确列出的文件

    我的 gitignore 文件中有以下行 var www docs backroom billing info inv pl 但是当我输入 git status 时 我被告知以下内容 modified var www docs backro
  • 如何解决 fileAttributesAtPath 警告问题?

    现在我使用这段代码 NSDictionary attr NSFileManager defaultManager fileAttributesAtPath file traverseLink YES 并收到警告 fileAttributes
  • 如何在使用隐式动画对 CALayer 进行动画处理时继承动画属性

    我正在尝试使用隐式动画为 CALayer 上的自定义属性设置动画 UIView animateWithDuration 2 0f animations self imageView myLayer myProperty 1 在 action
  • Asp Core,如何创建分页?

    我想用PagingList
  • AWS SQS-如果消息处理失败,消息传输是否会停止

    如果我批量有 5 条消息 并且由于网络故障 第四条消息在接收过程中失败 消息处理是否被阻止 对于标准队列和 FIFO 队列 第 5 条消息是否会被处理 在 FIFO 情况下 当您收到带有消息组 ID 的消息时 没有更多消息了除非您删除该消息
  • 如何使Bootstrap的悬停下拉菜单?

    如何使 twitter bootstrap 的菜单下拉菜单悬停而不是单击 1 Hide 下拉式菜单 on 鼠标移到 document ready function nav li dropdown hover function this ad
  • 是否可以在 Powershell 中使用 Send-PnPMail 发送附件?

    是否可以在 Powershell 中使用 Send PnPMail 发送附件 Send PnPMail To requestor Subject Teams App Provisioning Delta Load Get Date Body
  • 如何在 HighCharts 上绘制垂直线?

    我想追踪当天的垂直时间线 但我没有在 HighCharts 文档中找到解决方案 像这样 您正在寻找情节主线 请参阅此处的文档 http api highcharts com highcharts xAxis plotLines http a
  • 从 Android 中的 URL 方案打开我的应用程序

    我知道有几个关于此的问题 但没有一个可以帮助解决我的问题 我希望能够单击来自电子邮件 文本 浏览器并打开我的应用程序 我有AndroidManifest xml code
  • 连续循环页面(不是无限滚动)

    我正在寻找创建滚动功能的资源 例如在这些网站上找到的资源 前哨日记 http www outpostjournal org Unfold http unfold no 一旦滚动条到达页面底部 我希望它循环回到顶部 我对无限滚动很熟悉 但这不
  • Excel - 提取前 5 个值

    我想提取前 5 名选手基于每个员工的销售额 没有数据透视表 自动过滤器 参考我的输入和输出截图 Snapshot https i stack imgur com zYElg png 有什么建议 如何获得前 5 名排名 即使重复 如屏幕截图所
  • 相当于 XHR 或 Ajax 库中的 Fetch 'no-cors' 模式?

    有没有办法在现有的 大多数浏览器支持的 HTTP 请求中写入 fetch mode no cors 举个例子 我想知道是否可以翻译 fetch url mode no cors then function response console
  • Chrome 开发者工具工作区映射

    谁能告诉我 Chrome 开发者工具工作区映射是如何工作的 我相信目前它仅在加那利可用 我认为它应该允许我在元素视图中更改 CSS 规则 并将它们自动保存到本地文件中 正如 Paul Irish 在 Google IO 2013 上演示的那
  • 搅拌机谷歌Colab

    直到几天前 我还能够使用 GPU 在 Google Colab 上无头运行 Blender 或 sheshe it 是的 我检查了三次我选择了 GPU 实例 现在运行 keras tensorflow 确实工作正常 但 Blender 根本
  • TFS 中的错误、问题和任务之间有什么区别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 谁能给我一个关于 TFS 中错误 问题和任务之间差异的简短解释 For the Scrum TFS 流程模板 https msdn m
  • 无法从 aws lambda 层导入模块

    我有一个 pip 包的需求文件 我将其安装在目标文件夹中并压缩内容并将其上传到 AWS lambda 层 要求 txt asgiref 3 2 3 certifi 2019 11 28 chardet 3 0 4 cloudevents 0
  • 根据 Pandas 中的多个条件过滤分组行

    给定一个数据框如下 city district date price 0 bj cy 2019 03 01 NaN 1 bj cy 2019 04 01 6 0 2 sh hp 2019 03 01 4 0 3 sh hp 2019 04