按 NaN 计数的降序对数据帧的行进行排序

2023-11-27

我正在尝试对以下 Pandas DataFrame 进行排序:

         RHS  age  height  shoe_size  weight
0     weight  NaN     0.0        0.0     1.0
1  shoe_size  NaN     0.0        1.0     NaN
2  shoe_size  3.0     0.0        0.0     NaN
3     weight  3.0     0.0        0.0     1.0
4        age  3.0     0.0        0.0     1.0

以这样的方式,具有较多 NaN 列的行被放置在前面。 更准确地说,在上面的 df 中,索引为 1 (2 Nans) 的行应该位于索引为 0 (1 NaN) 的行之前。

我现在做的是:

df.sort_values(by=['age', 'height', 'shoe_size', 'weight'], na_position="first")

Using df.sort_values and loc基于访问。

df = df.iloc[df.isnull().sum(1).sort_values(ascending=0).index]
print(df)

         RHS  age  height  shoe_size  weight
1  shoe_size  NaN     0.0        1.0     NaN
2  shoe_size  3.0     0.0        0.0     NaN
0     weight  NaN     0.0        0.0     1.0
4        age  3.0     0.0        0.0     1.0
3     weight  3.0     0.0        0.0     1.0

df.isnull().sum(1)计数NaNs 和行是根据这个排序计数来访问的。


@ayhan 提供了不错的小改进对于上面的解决方案,涉及pd.Series.argsort:

df = df.iloc[df.isnull().sum(axis=1).mul(-1).argsort()]
print(df)

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

按 NaN 计数的降序对数据帧的行进行排序 的相关文章

  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • 从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)

    我已经查看了很多问题 但仍然无法完全弄清楚 我正在使用 PyQt 并且希望能够运行ffmpeg i file mp4 file avi并获取流式输出 以便我可以创建进度条 我看过这些问题 ffmpeg可以显示进度条吗 https stack
  • if 语句未命中中的 continue 断点

    在下面的代码中 两者a and b是生成器函数的输出 并且可以评估为None或者有一个值 def testBehaviour self a None b 5 while True if not a or not b continue pri
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 使用 Python pandas 计算调整后的成本基础(股票买入/卖出的投资组合分析)

    我正在尝试对我的交易进行投资组合分析 并尝试计算调整后的成本基础价格 我几乎尝试了一切 但似乎没有任何效果 我能够计算调整后的数量 但无法获得调整后的购买价格有人可以帮忙吗 这是示例交易日志原始数据 import pandas as pd
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • 使用 Firefox 绕过弹出窗口下载文件:Selenium Python

    我正在使用 selenium 和 python 来从中下载某些文件web page http www oceanenergyireland com testfacility corkharbour observations 我之前一直使用设
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 使用 PyTorch 分布式 NCCL 连接失败

    我正在尝试使用 torch distributed 将 PyTorch 张量从一台机器发送到另一台机器 dist init process group 函数正常工作 但是 dist broadcast 函数中出现连接失败 这是我在节点 0
  • 迭代 my_dict.keys() 并修改字典中的值是否会使迭代器失效?

    我的例子是这样的 for my key in my dict keys my dict my key mutate 上述代码的行为是否已定义 假设my dict是一本字典并且mutate是一个改变其对象的方法 我担心的是 改变字典中的值可能
  • 当鼠标悬停在上面时,intellisense vscode 不显示参数或文档

    我正在尝试将整个工作流程从 Eclipse 和 Jupyter Notebook 迁移到 VS Code 我安装了 python 扩展 它应该带有 Intellisense 但它只是部分更糟糕 我在输入句点后收到建议 但当将鼠标悬停在其上方
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 您可以将操作直接应用于map/reduce/filter 中的参数吗?

    map and filter通常可以与列表理解互换 但是reduce并不那么容易被交换map and filter 此外 在某些情况下我仍然更喜欢函数语法 但是 当您需要对参数本身进行操作时 我发现自己正在经历语法体操 最终必须编写整个函数
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • 如何在 Meteor 中访问客户端 IP 地址? [复制]

    这个问题在这里已经有答案了 这似乎是一个非常基本的问题 没有一个优雅的解决方案 答案 如何从 1 服务器或 2 客户端访问客户端 远程 IP 地址 获取客户端IP 如果没有 http 请求 在函数中您应该能够通过以下方式获取 clientI
  • 变量变量

    如何在 for 循环内创建可变变量 这是循环 for counter 1 counter lt aantalZitjesBestellen counter 在这个循环中 我想在每次通过时创建一个变量 seat 但它必须像这样递增 第一次通过
  • Travis CI 忽略 MAVEN_OPTS?

    我的 Scala 项目 Maven 管理的 无法在 Travis 上构建 抛出一个GC overhead limit exceeded尽管在本地用相同的方法编译得很好 但仍然出错MAVEN OPTS Xmx3g XX MaxPermSize
  • ASP.NET 自定义控件 - 仅包含一次嵌入 CSS 引用的最佳方法是什么?

    问题 我将 CSS 文件嵌入到具有多个控件的自定义控件库中 我想为所有控件共享相同的 CSS 文件 无论给定表单上有多少个控件实例 当表单上有多个控件时 我希望在 ASP NET 页面的 HTML 标头中恰好有 1 个对 CSS 文件的引用
  • jQuery - 删除所有具有相似名称的类

    有没有更好的方法来做到这一点 element removeClass class 1 removeClass class 2 removeClass class 3 removeClass class 5 to removeClass cl
  • 为什么 @objc 枚举的描述与纯 Swift 枚举不同?

    考虑两个 Swift 枚举 enum Foo Int case bar objc enum Baz Int case qux 如果我要print each case对于这些枚举 我期望得到相同的结果 相反 我看到了一些意想不到的东西 pri
  • 在 32 位 Windows 上使用 NASM 在程序集中创建 exe 文件

    我正在用汇编语言编写一个 hello world 程序NASM在 32 位上Windows 7的 我的代码是 section text global main must be declared for linker ld main tell
  • 我应该如何类型提示一个也可以是无限的整数变量?

    搜索这个主题时我发现了以下内容 如何表示整数无穷大 我同意 Martijn Peeters 的观 点 即为int可能不是最好的想法 然而 这使得类型提示变得困难 假设以下代码 myvar 10 type int myvar math inf
  • ASP.NET MVC 2 中的验证实际上是如何工作的?

    我试图追踪为什么我的 ASP NET MVC 2 验证不起作用 但我找不到足够的关于它如何工作的信息来做到这一点 我已按照此步骤操作大卫 海登的有用文章这似乎是目前最好的文档 但实际上什么也没发生 当我提交到服务器时 我得到了验证 就像我从
  • 防止 Angular 中的多个 $http 请求。有没有更好的办法?

    我构建了一个有点复杂的方法来通过 http 返回资源 该方法返回一个承诺 然后检查我的本地缓存是否存在资源 如果是 它将返回缓存的资源 如果不是 它将发出 http 请求 这在资源被缓存后效果很好 但是我在加载时调用此方法的应用程序中有多个
  • 如何取消 Sublime Text 3 中正在进行的查找/搜索

    如何取消 Sublime Text 中正在进行的搜索 基本上当我使用递归文件夹搜索特定文本时 ctrl shft F 但有时 如果搜索模式不好 它会无限运行 如何在不关闭 Sublime text 的情况下取消错误的搜索 我使用的停止搜索的
  • 上传没有 multipart/form-data 的文件(服务器到服务器)

    从这个答案https stackoverflow com a 1695287 256400 我感觉多部分 表单数据需要将文件从浏览器上传到服务器 但是 如果我的用例是将文件从服务器上传到服务器 如果我将内容类型 as 应用程序 八位字节流甚
  • MediaPlayer.seekTo() 不寻求在 Android 上定位

    我正在开发一个应用程序 其中视频以 3 个不同的时间间隔暂停 第二次暂停后 如果单击按钮 则应从之前的位置开始返回 例如 如果当前在 1 30 暂停 则单击按钮后 它将转到上一个书签 即 00 45 我认为使用 MediaPlayer se
  • ValueError 不支持 psycopg2 的格式字符“d”

    我有这样的代码 print company id d company id db cursor execute insert into person company id first last type values d s s d com
  • 两个表上的 Rails 自定义foreign_key名称

    我有两个模型 例如 User 和 Club 及其属性 User id uid email etc and Club id player id address supporter etc 由于某种原因 连接属性是clubs player id
  • 将任何记录转换为字符串并返回?

    我怎样才能转换任何record键入单个String然后回来 也许将记录加载到流中并将其作为字符串读取 我使用的记录不会包含任何特殊类型 它们只是使用简单的东西 例如String Integer PChar DWORD and Array o
  • android viewpager 中的幻灯片?

    我在使用 android viewpager 幻灯片时遇到问题 我想在最短时间段后显示视图页面布局 这是我的代码示例 我的主要课程 public class MainActivity extends Activity private Vie
  • 本地主机上是否需要 SSL?

    我们有一个将使用自签名证书的 Web 应用程序 将其安装到服务器上后 浏览器将在 https 本地主机 不 为了论证 我要声明我们不能使用实际的机器名称 这将生成浏览器错误 因为 localhost 不是证书的域 一个选项是在 HTTP 上
  • 如何在调用我的应用程序中的函数的窗口中创建键盘快捷键?

    How can I create an application that performs an action with keyboard shortcut App must be unvisible For example Shows M
  • 按 NaN 计数的降序对数据帧的行进行排序

    我正在尝试对以下 Pandas DataFrame 进行排序 RHS age height shoe size weight 0 weight NaN 0 0 0 0 1 0 1 shoe size NaN 0 0 1 0 NaN 2 sh