pandas:具有多索引的布尔索引

2023-12-29

这里有很多具有类似标题的问题,但我找不到解决这个问题的问题。

我有来自许多不同来源的数据帧,我想逐个过滤。当布尔系列与过滤后的数据帧大小相同时,使用布尔索引效果很好,但当该系列的大小与更高级别的索引过滤后的数据帧。

简而言之,假设我有这个数据框:

In [4]: df = pd.DataFrame({'a':[1,1,1,2,2,2,3,3,3], 
                           'b':[1,2,3,1,2,3,1,2,3], 
                           'c':range(9)}).set_index(['a', 'b'])
Out[4]: 
     c
a b   
1 1  0
  2  1
  3  2
2 1  3
  2  4
  3  5
3 1  6
  2  7
  3  8

还有这个系列:

In [5]: filt = pd.Series({1:True, 2:False, 3:True})
Out[6]: 
1     True
2    False
3     True
dtype: bool

我想要的输出是这样的:

     c
a b   
1 1  0
  2  1
  3  2
3 1  6
  2  7
  3  8

我不是在寻找不使用的解决方案filt系列,例如:

df[df.index.get_level_values('a') != 2]
df[df.index.get_level_values('a').isin([1,3])]

我想知道我是否可以使用我的输入filt系列原样,因为我会在 c 上使用过滤器:

filt = df.c < 7
df[filt]

如果将索引“a”转换回列,则可以按如下方式执行:

>>> df = pd.DataFrame({'a':[1,1,1,2,2,2,3,3,3], 
                       'b':[1,2,3,1,2,3,1,2,3], 
                       'c':range(9)})
>>> filt = pd.Series({1:True, 2:False, 3:True})
>>> df[filt[df['a']].values]
   a  b  c
0  1  1  0
1  1  2  1
2  1  3  2
6  3  1  6
7  3  2  7
8  3  3  8

edit。 正如@joris 所建议的,这也适用于索引。这是示例数据的代码:

>>> df[filt[df.index.get_level_values('a')].values]
     c
a b   
1 1  0
  2  1
  3  2
3 1  6
  2  7
  3  8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas:具有多索引的布尔索引 的相关文章

随机推荐

  • ES6 Promise 中的数据只有在我点击它之后才会呈现在页面上?

    我在我的应用程序中使用 Ionic 并连接到 Firebase 来提取数据 我在工厂中创建了一个承诺 将数据拉下来 并认为一旦完成 它应该在屏幕上呈现数据 但在触摸屏幕之前我什么也得不到 我没有收到任何错误 数据确实出现了 Factory
  • jpa 实体 bean 的默认范围是什么?它有什么帮助?

    我的项目中的所有实体 bean 看起来都是这样的 我想知道对实体使用 scope prototype 的意义是什么 Component Scope prototype Entity Table name SOME BEAN SOME CON
  • 如何在iPhone锁屏状态下开始播放音乐

    我在用UILocalNotification如果应用程序未运行 则提醒用户MPMusicPlayerController播放 iPod 音乐和MPMoviePlayerController播放广播流 url 根据苹果文档 如果 iPhone
  • 以编程方式使用尺寸类别

    我 希望 观看了所有相关的 WWDC2014 会议视频并阅读了文档 所以这个问题主要是为了证实我的怀疑 但请赐教 我想做的是使用自动布局为视图添加动画效果 这本身并不是问题 但这些动画的端点随着不同的方向而变化 我想我也许可以使用尺寸类来自
  • 无法配置 Firebase InstanceID

    您好 我正在尝试在我的应用程序中包含 firebase 并遵循文档 当我尝试进行 google 登录时 出现无法配置 Firebase InstanceID 错误 请建议如何克服此错误 有两件事需要检查 希望其中一项能为您解决 确保您的捆绑
  • 无法从 Xcode 运行 Instruments

    我最近升级到 Snow Leopard 从那以后我很难运行 Instrument 来从 Xcode 检测我的应用程序 录制 按钮将变灰 并且什么也不会发生 Xcode 的控制台中也没有消息告诉我出了什么问题 我曾经能够将其附加到进程或从仪器
  • 如何使用 jQuery 在 IE 中附加样式表?

    大家好 我只是想创建一个插件 我需要它对用户友好 所以我想append the 标签上的head加载我的插件时用户页面的一部分 它适用于所有其他浏览器 不确定 IE9 IE7 和 IE6 但不适用于 IE8 我不知道我的插件出了什么问题 所
  • 在 CakePHP 中重写 php 应用程序

    因此 我很想使用 php 框架重写我的应用程序 因为我认为这会让人们更容易参与 并改进应用程序的设计 CakePHP 看起来是最好的 PHP Web 框架 有人有这方面的经验吗 从手动编写 PHP 到使用框架 我应该考虑哪些注意事项 不取决
  • 写入 Mac OS X 10.7 中的“~/Library/Application Support”文件夹

    我可以使用 NSFileManager 在 Mac OS X 10 5 和 10 6 中的 Library Application Support 中创建 XYZ 文件夹 然而 在 10 7 中 它显示 您无权将 XYZ 保存在文件夹 应用
  • Enterprise Library 5.0 - 将自定义标记添加到 TextFormatter

    我创建了一个自定义异常 其中包含与我们的应用程序相关的数据 我想确保在引发异常时记录这些数据并将其记录到事件日志中 我尝试创建一个正在调用的自定义 TextFormatter 但不确定如何访问当前异常 以便我可以将自定义信息添加到日志条目中
  • Google Vision ocr:垂直和水平线文本识别

    我们正在使用 google Vision ocr 来收集收据中的文本 在某些情况下 收据上有一些垂直书写的文本 例如增值税信息等 问题是 谷歌视觉仅有效地读取主方向 例如水平方向 的文本 并丢弃在同一收据中以垂直方向而不是水平方向写入的所有
  • 向下滚动并双击最后一个展开/折叠箭头时,TreeTableView 项目消失

    在与一个TreeTableView我意识到 当您向下滚动表格并双击最后一个展开 折叠箭头时 所有项目都会消失 但是 当您再次滚动时 所有项目都会重新出现 当然 当你有足够的物品时就会发生这种情况 因此垂直ScrollBar活跃 以前有人遇到
  • 为什么结构类型的编译时生成技术会阻止单独编译?

    我正在读 好吧 略读 杜博切特和奥德斯基的在 JVM 上编译结构类型 http infoscience epfl ch record 138931 files 2009 structural pdf并对以下说法感到困惑 Generative
  • Scala 隐式转换陷阱

    EDIT好的 Drexin 提出了一个很好的观点 使用隐式转换器时类型安全性的损失 令人惊讶的结果 一个不太常见的转换怎么样 不会与 PreDef 隐式发生冲突 例如 我正在 Scala 中使用 JodaTime 很棒的项目 在定义隐式的同
  • 如果某些数据包含空格,如何读取逗号分隔的数据文件

    我正在尝试读取使用逗号作为分隔符的数据文件 如下所示 IPE 80 764 80 14 8 49 IPE 100 1030 171 15 92 但是如果我阅读使用 READ 1 var1 var2 var3 var4 它将 IPE 和 80
  • 如何为 ASP.NET Core Web API 应用程序的程序和启动 cs 文件编写单元测试

    有没有办法编写单元测试ProgramASP NET Core Web API 的 cs 文件以及类似的startup类 只是为了显示整个应用程序的更多代码覆盖率 目前显示覆盖率为 0 您可以在单独的调用中提取配置并将它们公开到 func 中
  • 当我使用requirements.txt时,pip没有从virtualenv中安装到site-packages目录

    我对使用 virtualenv 运行 Python 还比较陌生 所以这可能是一个简单的解决方案 但我一生都无法弄清楚发生了什么 我运行的是 Windows 7 professional x64 安装了 Python 2 7 5 我已经安装了
  • MatLab 分类数据中的缺失数据处理

    我正在尝试将我的数据集放入 MATLAB ranked weights relieff X Ylogical 10 categoricalx on 函数对我的预测特征的重要性进行排名 这dataset
  • 使用 Powershell 配置 IIS - 启用表单身份验证

    我的 IIS 看起来像这样 Sites gt Default Web Site gt MyWebApp 那么问题是 如何在 MyWebApp 上启用表单身份验证 我设法更改或编辑匿名访问 基本和 Windows 身份验证 然而 Forms
  • pandas:具有多索引的布尔索引

    这里有很多具有类似标题的问题 但我找不到解决这个问题的问题 我有来自许多不同来源的数据帧 我想逐个过滤 当布尔系列与过滤后的数据帧大小相同时 使用布尔索引效果很好 但当该系列的大小与更高级别的索引过滤后的数据帧 简而言之 假设我有这个数据框