pandas:在(多索引)DataFrame上使用每个组中最常见的值执行 fillna() 的最佳方法是什么?

2024-02-28

有一个包含一些 NaN 值的 DataFrame:

df = pd.DataFrame({'A': [1, 1, 1, 1, 2, 2, 2, 2], 'B': [1, 1, np.NaN, 2, 3, np.NaN, 3, 4]})

   A    B
0  1  1.0
1  1  1.0
2  1  NaN <-
3  1  2.0
4  2  3.0
5  2  NaN <-
6  2  3.0
7  2  4.0

将标签“A”设置为索引:

df.set_index(['A'], inplace=True)

现在有两个组,索引分别为 1 和 2:

     B
A     
1  1.0
1  1.0
1  NaN <-
1  2.0
2  3.0
2  NaN <-
2  3.0
2  4.0

使用以下命令在 DataFrame 上执行 fillna() 的最佳方法是什么最频繁的每个组的价值?

所以,我想做这样的电话:

df.B.fillna(df.groupby('A').B...)

and get:

     B
A     
1  1.0
1  1.0
1  1.0 <-
1  2.0
2  3.0
2  3.0 <-
2  3.0
2  4.0

我希望有一种方法,它也适用于多索引。


  • 按列分组A并申请fillna()每组内的B;
  • 从系列中删除缺失值,然后执行value_counts, use idxmax()选取最频繁的值;

假设不存在缺少所有值的组:

df['B'] = df.groupby('A')['B'].transform(lambda x: x.fillna(x.dropna().value_counts().idxmax()))
df
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas:在(多索引)DataFrame上使用每个组中最常见的值执行 fillna() 的最佳方法是什么? 的相关文章

  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • keras的model.fit中tf.Print没有结果

    我写了那个损失 用于测试 keras 中的自定义损失 def loss y true y pred loss tf reduce sum y true tf log y pred loss tf Print loss loss loss r
  • 如何在python中删除文件的部分内容?

    我有一个名为 a txt 的文件 如下所示 我是第一线我是第二线 这里可能还有更多行 我在空行下方 我是一条线更多线路在这里 现在 我想删除空行上方的内容 包括空行本身 我怎样才能以 Pythonic 的方式做到这一点 基本上 您无法从文件
  • 嵌入式 Jetty - 启动 Jetty 服务器后添加上下文

    在没有指定上下文和上下文处理程序的情况下启动jetty实例 然后在服务器启动后继续向其添加上下文是否正确 尽管我能够使用可变的 HandlerCollection 来执行此操作 并且日志显示服务器和上下文已启动且可用 但我无法使用 URL
  • 在设计时隐藏私有子控件属性

    我有一个带有一些私有子控件的容器控件 如何在设计时隐藏属性浏览器以显示控件 它还在设计时在每个控件上显示一个锁和一个方形图标 我尝试为控件设置
  • PHP中HTTP请求完成后执行代码?

    PHP提供了注册关闭函数的机制 register shutdown function shutdown func 问题是在最新版本的 PHP 中 该函数仍然在请求期间执行 我有一个平台 如果重要的话 在 Zend Framework 中 整
  • Ehcache并发修改异常+Spring+Struts应用

    在我的应用程序中 ehcache 配置如下 应用程序数据区域 java import statements public class AppDataRegion Variable for region identifier private
  • Android RSA 加密与 OAEP 使用 SHA-256 进行主摘要和 MGF1 摘要

    根据规范 我需要对两个摘要 主摘要和 MGF1 摘要 使用带有 SHA 256 的 RSA ECB OAEPPadding 密码 安卓密码学 https developer android com guide topics security
  • java try 块的范围应该尽可能严格吗?

    有人告诉我 使用 Java try catch 机制会产生一些开销 因此 虽然有必要将抛出已检查异常的方法放入 try 块中来处理可能的异常 但从性能角度来看 限制 try 块的大小以仅包含那些可能抛出异常的操作是一种很好的做法 我不太确定
  • 在数据库表中存储视图计数

    每次访问数据库记录时存储视图计数的适当且最有效的方法是什么 我有桌子ITEMS包含以下字段 id item name 每个项目都有自己的永久链接 http domain com item name http domain com item
  • CSS 动画属性在动画后保留

    我试图让 CSS 动画属性在完成后保留 这可能吗 这就是我正在努力实现的目标 当用户登陆页面时 该元素应该隐藏 3秒后 或其他时间 它应该淡入 一旦动画完成 它应该停留在那里 这是一个小提琴尝试 http jsfiddle net GZx6
  • SVN将服务器端的数据存储在哪里?

    我已经在我的 Web 主机服务器上创建了一个 svn 存储库 并成功向其中提交文件并更新了文件 但我似乎实际上无法在服务器上找到这些文件 我的 svn 仓库位于 svn my first repo 其中包含以下内容 README txt c
  • 在 Python 中将图像中的颜色映射到颜色列表中最接近的成员

    我有一个 19 种颜色的列表 它是一个大小为 numpy 的数组 19 3 colors np array 0 0 0 0 0 255 255 0 0 150 30 150 255 65 255 150 80 0 170 120 65 12
  • 如何使用 iTextSharp 获取 pdf 文件中的部分目标页码?

    我有一个 pdf 文件 其中包含索引页 其中包含目标页面部分 我可以获得章节名称 第 1 1 节 第 5 2 节 但无法获取目标页码 For ex http www mikesdotnetting com Article 84 iTextS
  • 使用 VB.NET 创建 ODBC DSN

    我想为数据库创建 ODBC DSN 每当用户设置应用程序时 该数据库将包含在我的应用程序文件夹中 我想知道如何使用所有必需的参数创建 ODBC 以便运行安装程序时要做的第一件事是将数据库连接到应用程序 我尝试过使用默认的 VB NET 安装
  • 如何向某些 jQuery 对象添加函数,而不向其他对象添加函数?

    假设我有一个 ul list ul class products ul 我想用 jQuery 选择它 然后向该对象添加一些函数 例如 我想添加一个addProduct productData 函数和一个deleteProduct produ
  • 降低 Bootstrap 3.0 导航栏的高度

    我正在尝试降低与固定顶部行为一起使用的 Bootstrap 3 0 导航栏高度 这里我使用的是代码 HTML div class tnav div class navbar navbar fixed top div class navbar
  • 我应该使用 MySQL blob 字段类型吗?

    我正在努力决定是否应该在即将进行的项目中使用 MySQL blob 字段类型 我的基本要求是 可以查看某些数据库记录 并上传多个文件并将其 附加 到这些记录 根据具体情况 查看所述记录可能仅限于某些人 任何类型的文件都可以上传 几乎没有任何
  • 使用本地密钥 MONGODB 启用数据加密时出错

    我已成功加密 mongoDB 中的通信 但是当我尝试启用数据加密时出现错误 我使用的是 mongoDB 企业版 版本为 3 2 4 我在控制台中收到以下消息 ERROR child process failed exited with er
  • 有没有办法验证 jsonpath 的语法是否正确?

    嗨 我正在尝试找到一种方法验证 jsonpath由用户输入评估之前它 我希望使用正则表达式之类的东西来做到这一点 但到目前为止我找不到任何有关如何验证 jsonpath 语法的文档 资源 所有搜索到的返回资源都讨论了表达式的求值 即使 ja
  • pandas:在(多索引)DataFrame上使用每个组中最常见的值执行 fillna() 的最佳方法是什么?

    有一个包含一些 NaN 值的 DataFrame df pd DataFrame A 1 1 1 1 2 2 2 2 B 1 1 np NaN 2 3 np NaN 3 4 A B 0 1 1 0 1 1 1 0 2 1 NaN lt 3