Pandas DataFrames/Series 之间的大于/小于比较

2023-11-26

如何在 DataFrame 和 Series 之间进行比较?我想屏蔽 DataFrame/Series 中大于/小于另一个 DataFrame/Series 中的元素的元素。

例如,以下内容不会替换大于平均值的元素 与 nans 一起,尽管我期待它:

>>> x = pd.DataFrame(data={'a': [1, 2], 'b': [3, 4]})
>>> x[x > x.mean(axis=1)] = np.nan
>>> x
   a  b
0  1  3
1  2  4

如果我们看一下比较创建的布尔数组,就会发现它真的很奇怪:

>>> x = pd.DataFrame(data={'a': [1, 2], 'b': [3, 4]})
>>> x > x.mean(axis=1)
       a      b      0      1
0  False  False  False  False
1  False  False  False  False

我不明白生成的布尔数组的逻辑是这样的。我可以通过使用转置来解决这个问题:

>>> (x.T > x.mean(axis=1).T).T
       a     b
0  False  True
1  False  True

但我相信有一些我不知道的“正确”方法可以做到这一点。至少我想了解发生了什么事。


这里的问题是,如果您使用,它将索引解释为列值来执行比较.gt并通过axis=0然后你就得到你想要的结果:

In [203]:
x.gt(x.mean(axis=1), axis=0)

Out[203]:
       a     b
0  False  True
1  False  True

当你与 np 数组进行比较时,你就会明白我的意思:

In [205]:
x > x.mean(axis=1).values

Out[205]:
       a      b
0  False  False
1  False   True

这里可以看到默认的比较轴是在列上,导致了不同的结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas DataFrames/Series 之间的大于/小于比较 的相关文章

随机推荐

  • 如何评估来自 stdin 的 PowerShell 脚本输入

    我想在 PowerShell 中评估 StdIn 的内容 如下所示 echo echo 12 powershell noprofile noninteractive command input iex Output echo 12 很遗憾
  • 如何在 C# 应用程序启动时立即运行代码?

    我已经将一些代码放在了公共内部MainWindow 但我一这样做就不断收到一些晦涩的 XAML 解析错误 不是在我的计算机上 而是在我尝试过的其他 3 台计算机上 是否有一种在应用程序启动时立即运行代码的首选方法 理论上是我希望它打电话回家
  • 如果函数指针不需要 & 符号,为什么 boost::bind 需要一个?

    我一直相信函数指针不需要 符号 然而 我见过的每一个使用的例子boost bind显示一个 并且我的编译器 在大多数情况下 如果省略它 则会给出通常难以理解的错误消息 synchronize boost bind Device asyncU
  • 是否可以通过 Chrome 扩展中的上下文菜单项调用内容脚本方法?

    我正在尝试使用上下文菜单项来调用在内容脚本中编写的方法 那可能吗 正如我所尝试的那样 上下文菜单只能在后端执行操作 E g A generic onclick callback function function genericOnClic
  • 如何在 Linux UVC 驱动程序中启用 UVC_QUIRK_FIX_BANDWIDTH 怪癖?

    我目前正在尝试运行 2webcams在 Wandboard 板上 它们必须共享 USB 集线器 问题是 当前的驱动程序实现 仅限 YUV 使 USB 集线器饱和 最终我只能连接一台相机 然而 UVC 驱动程序的实现有一个怪癖kind情况等
  • dplyr sample_n 其中 n 是分组变量的值

    我有以下分组数据框 我想使用该功能dplyr sample n从此数据框中为每个组提取行 我想使用分组变量的值NDG每组中的行数作为从每组中提取的行数 gt dg tmp lt structure list Gene c CAMK1 GHR
  • 下载功能因文件过大而失败

    你好 我的下载功能 protected void downloadFunction string fileName string filePath D SoftwareFiles LogMessageToFile Download star
  • 具有 ASPN、应用内购买等的多个应用程序中的应用程序 ID 和捆绑种子 ID

    我将创造多个销售版本具有推送通知功能的同一应用程序 酷应用 完整版 CoolApp Free 免费 功能有限 版本 酷应用程序中的应用程序 免费版 可通过应用内升级至完整版 购买 在 Apple Program Portal 中注册 App
  • 在正则表达式中将空格转换为制表符

    在正则表达式中如何表达以下内容 foreach line look at the beginning of the string and convert every group of 3 spaces to a tab Stop once
  • 我应该如何在 JavaScript 中“屈服”?

    我对现代 JavaScript ES8 有点陌生 异步产生的首选方法是什么 即在事件循环的未来迭代中继续执行脚本 使用await 我看到了以下选项 async function yield1 await Promise resolve co
  • 将 std::unique_ptr 与分配器一起使用

    这次我尝试使用分配器 感觉有很多机会泄漏资源 所以我想如果我用怎么办std unique ptr来处理它们 我试着用我的手std vector的分配器 我的代码是这样的 allocator include
  • PHP 不带引号的数组访问

    我在现有的 php 源代码中发现了一个现象 不带撇号的字段访问 如下所示 GET test 我不确定 也不知道这是一种可能的方式 所以我写了一个简短的例子来测试 echo Array Test fields without apostrop
  • 使用 asyncio 的相互递归协程

    我有一个假设 如果我用 asyncio 编写相互递归协程 它们不会遇到最大递归深度异常 因为事件循环正在调用它们 并且像蹦床一样运行 然而 当我这样写时 情况并非如此 import asyncio asyncio coroutine def
  • python 在 root 脚本中以普通用户身份运行命令

    我有一个以 root 身份启动的 python 脚本 我无法更改它 我想知道是否可以以普通用户身份执行此脚本的某些行 或所有脚本 我不需要 root 权限来运行此脚本 原因是 我使用通知 并且 python notify 不适用于 root
  • 如何查找具有相同捆绑包标识符的多个应用程序?

    有谁知道 在文件系统中 查找具有给定包标识符的每个应用程序的好方法 NSWorkspace和启动服务可让您通过捆绑包标识符查找应用程序 但仅返回单个结果 我怀疑聚光灯 NSMetadataQuery 可能会有所帮助 但我对其 API 有点不
  • 如何使用 s3 中的预训练模型来预测某些数据?

    我已经使用 sagemaker 训练了语义分割模型 并且输出已保存到 s3 存储桶中 我想从 s3 加载这个模型来预测 sagemaker 中的一些图像 我知道如何预测训练后是否让笔记本实例继续运行 因为它只是一个简单的部署 但如果我想使用
  • 向 Python enum.IntEnum 添加属性和起始值

    如何定义一个以某种方式派生的 Python 枚举类int 具有自定义起始值 并添加自定义属性 我知道如何从中得出int using enum IntEnum并设置起始值 Goo enum IntEnum Goo MOO FOO LOO st
  • Keras:重塑以连接 lstm 和 conv

    这个问题作为一个问题而存在github问题 也 我想在 Keras 中构建一个神经网络 其中包含 2D 卷积和 LSTM 层 网络应对 MNIST 进行分类 MNIST中的训练数据是60000张手写数字0到9的灰度图像 每张图像都是28x2
  • Android 模拟器将 600x1024 MDPI 报告为 XLarge?

    我目前正在尝试测试现有应用程序与即将发布的 Amazon Kindle Fire 平板电脑的兼容性 他们说将模拟器设置为 600x1024 将 LCD 密度设置为 169 https developer amazon com help fa
  • Pandas DataFrames/Series 之间的大于/小于比较

    如何在 DataFrame 和 Series 之间进行比较 我想屏蔽 DataFrame Series 中大于 小于另一个 DataFrame Series 中的元素的元素 例如 以下内容不会替换大于平均值的元素 与 nans 一起 尽管我