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() 的最佳方法是什么? 的相关文章

随机推荐

  • 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