Python-pandas 将 NA 替换为数据框中一组的中位数或平均值

2023-11-25

假设我们有一个 df:

    A       B
   apple   1.0
   apple   2.0
   apple    NA
   orange   NA
   orange  7.0
   melon   14.0
   melon   NA
   melon   15.0
   melon   16.0

要替换 NA,我们可以使用df["B"].fillna(df["B"].median()),但它将用“B”中所有数据的中位数填充 NA

有什么办法可以用某个 A 的中位数来代替 NA (如下所示):

    A       B
   apple   1.0
   apple   2.0
   apple   **1.5**
   orange  **7.0**
   orange  7.0
   melon   14.0
   melon   **15.0**
   melon   15.0
   melon   16.0

Thanks!


在 pandas 中你可以使用transform获取空填充值:

>>> med = df.groupby('A')['B'].transform('median')
>>> df['B'].fillna(med)
0     1.0
1     2.0
2     1.5
3     7.0
4     7.0
5    14.0
6    15.0
7    15.0
8    16.0
Name: B, dtype: float64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-pandas 将 NA 替换为数据框中一组的中位数或平均值 的相关文章

随机推荐

  • PHP,HTML:自动提交表单[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overflow 问题清单 有关您编写的代码的问题必须描
  • 附加文本未在 d3 v4 中显示

    我正在尝试 翻译 平行坐标示例到新版本的 d3 v4 我有一个使用此 javascript 的工作示例 如果有人尝试使用 d3 的 v4 并对新功能有问题 这也是一个很好的示例 var margin top 30 right 10 bott
  • 如何让 jQuery 等待 Ajax 调用完成后再返回?

    我有一个需要登录的服务器端功能 如果用户登录 该函数将在成功时返回 1 如果没有 该函数将返回登录页面 我想使用 Ajax 和 jQuery 调用该函数 我所做的就是使用普通链接提交请求 并在其上应用点击功能 如果用户未登录或函数失败 我希
  • 是否有可以检查表情符号的特定范围的 unicode 代码点?

    表情符号是否占据明确定义的 unicode 范围 并且 在 python 2 7 中是否有确定的方法来检查代码点是否是表情符号 我似乎找不到这方面的任何信息 有几个消息来源指出了这个范围 U0001f600 U0001f650 但例如 有代
  • 即使使用 ChangeDetectionStrategy.OnPush 也会调用 Angular ngDoCheck()

    可以说我有一个像这样的组件结构 AppComponent HeaderComponent ContentComponent TodosComponent TodoComponent 如果我设置 HeaderComponent 的change
  • 从 BGL 图中提取邻接矩阵

    使用Boost图库我正在寻找一种方法提取邻接矩阵来自由以下任一表示的基础图boost adjacency list or boost adjacency matrix 我想结合使用这个矩阵boost numeric ublas求解联立线性方
  • 如何在 shell 中以可移植的方式在第一个空行上分割文件(例如使用 sed)?

    我想将包含 HTTP 响应的文件拆分为两个文件 一个仅包含 HTTP 标头 另一个包含消息正文 为此 我需要在第一个空行上将文件分成两个 或者对于仅包含 CR 的第一行的 UNIX 工具 r 字符 使用外壳脚本 如何以可移植的方式执行此操作
  • 错误 android SurfaceFlinger

    我有这个错误消息 SurfaceFlinger 半透明 0 isOpaque 1 isExternalDisplayLayer 0 isExternalBlockLayer0 我使用的是安卓4 1 1 我无法说出我的代码的哪一部分正在生成此
  • 使用 Watir 检查坏链接

    我有一个无序列表的链接 我保存在一边 我想单击每个链接并确保它转到真实页面 而不是 404 500 等 问题是我不知道该怎么做 是否有一些我可以检查的对象可以为我提供 http 状态代码或其他内容 mylinks Browser ul id
  • Android 中具有动态 ActionBar 颜色的半透明 StatusBar

    我正在尝试实现一个半透明的状态栏 以便我的导航视图是BEHIND状态栏 但仍然喜欢动态更改操作栏的颜色 因此 状态栏颜色需要更改为操作栏颜色的较暗版本 如果我将状态栏设置为透明 正如许多消息来源所建议的那样 我的 Primary dark
  • 如何编写多行命令?

    我们如何将命令扩展到下一行 基本上 Linux 的 Windows 替代品是什么 ls l usr 这里我们使用反斜杠将命令扩展到下一行 Windows 的等效项是什么 尝试了键盘上的几乎每个键后 C Users Tim gt cd Meh
  • 在 C# 中递归打印斐波那契字符串

    可以不用 while 循环来完成吗 static void Main string args Console WriteLine Please enter a number int number Convert ToInt32 Consol
  • Ruby on Rails:按月对博客文章进行分组

    嘿伙计们 我使用常见的 CRUD 操作创建了一个简单的博客应用程序 我还在 PostController 中添加了一个名为 archive 的新操作和一个关联的视图 在此视图中 我想带回所有博客文章并按月对它们进行分组 以这种格式显示它们
  • PHP 的 count() 函数对于数组来说是 O(1) 还是 O(n) ?

    Does count 真的计算了 PHP 数组的所有元素 还是这个值缓存在某处并且只是被检索 嗯 我们可以看一下源码 ext standard array c PHP FUNCTION count calls php count recur
  • 如何使用 BorderLayout 将两个组件放入 JPanel 中?

    基本上我想做的是添加两张图片 并排在 JPanel 的中心 并在 JPanel 的右侧添加一个 JLabel 所以我被告知将 JPanel 的布局设置为 BorderLayout 并使用 BorderLayout CENTER 添加图片 使
  • 创建一个自动填充目标页面上字段的链接

    我正在编写一份时事通讯 要求我这样做的人想要其中的链接 一切都很完美 没有问题 现在的问题是 当您单击此链接时 它会进入一个包含字段的页面 并且该人问我是否可以自动填写其中一个字段 该页面是某些服务的订阅页面 当您使用他的电子邮件登录该页面
  • 如何在 iPhone 的 Objective-C 中以编程方式调整图像大小

    我有一个应用程序 可以在很小的空间中显示大图像 这些图像相当大 但我仅以 100x100 像素帧显示它们 由于我使用的图像大小 我的应用程序响应缓慢 为了提高性能 如何使用 Objective C 以编程方式调整图像大小 请找到以下代码 U
  • 枚举的 rawValue 属性无法识别

    我正在使用 Xcode 6 的 Playground 来尝试 Swift 中的枚举 enum Rank String case One One Two Two init rawValue String self rawValue rawVa
  • 创建 Pandas 滚动窗口系列数组

    假设我有以下代码 import numpy as np import pandas as pd x np array 1 0 1 1 1 2 1 3 1 4 s pd Series x index 1 2 3 4 5 这会产生以下结果s 1
  • Python-pandas 将 NA 替换为数据框中一组的中位数或平均值

    假设我们有一个 df A B apple 1 0 apple 2 0 apple NA orange NA orange 7 0 melon 14 0 melon NA melon 15 0 melon 16 0 要替换 NA 我们可以使用