Pandas fillna() 基于特定列属性

2024-03-20

假设我有这张桌子

Type | Killed | Survived
Dog      5         2
Dog      3         4
Cat      1         7
Dog     nan        3
cow     nan        2

其中的价值之一Killed缺少[Type] = Dog.

我想将平均值归咎于[Killed] for [Type] = Dog.

我的代码如下:

  1. 搜索平均值

df[df['Type'] == 'Dog'].mean().round()

这将给出平均值(大约 2.25)

  1. 估算平均值(这是问题开始的地方)

df.loc[(df['Type'] == 'Dog') & (df['Killed'])].fillna(2.25, inplace = True)

代码运行,但值未插补,NaN 值仍然存在。

我的问题是,我如何将平均值归入[Killed]基于[Type] = Dog.


对我来说工作:

df.ix[df['Type'] == 'Dog', 'Killed'] = df.ix[df['Type'] == 'Dog', 'Killed'].fillna(2.25)
print (df)
  Type  Killed  Survived
0  Dog    5.00         2
1  Dog    3.00         4
2  Cat    1.00         7
3  Dog    2.25         3
4  cow     NaN         2

If need fillna http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html by Series- 因为 2 列Killed and Survived:

m = df[df['Type'] == 'Dog'].mean().round()
print (m)
Killed      4.0
Survived    3.0
dtype: float64

df.ix[df['Type'] == 'Dog'] = df.ix[df['Type'] == 'Dog'].fillna(m)
print (df)
  Type  Killed  Survived
0  Dog     5.0         2
1  Dog     3.0         4
2  Cat     1.0         7
3  Dog     4.0         3
4  cow     NaN         2

如果需要只在列中填写Killed:

#if dont need rounding, omit it
m = round(df.ix[df['Type'] == 'Dog', 'Killed'].mean())
print (m)
4

df.ix[df['Type'] == 'Dog', 'Killed'] = df.ix[df['Type'] == 'Dog', 'Killed'].fillna(m)
print (df)
  Type  Killed  Survived
0  Dog     5.0         2
1  Dog     3.0         8
2  Cat     1.0         7
3  Dog     4.0         3
4  cow     NaN         2

您可以重用如下代码:

filtered = df.ix[df['Type'] == 'Dog', 'Killed']
print (filtered)
0    5.0
1    3.0
3    NaN
Name: Killed, dtype: float64

df.ix[df['Type'] == 'Dog', 'Killed'] = filtered.fillna(filtered.mean())
print (df)
  Type  Killed  Survived
0  Dog     5.0         2
1  Dog     3.0         8
2  Cat     1.0         7
3  Dog     4.0         3
4  cow     NaN         2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas fillna() 基于特定列属性 的相关文章

  • 理解Python中的元类和继承[重复]

    这个问题在这里已经有答案了 我对元类有一些困惑 具有继承性 class AttributeInitType object def init self kwargs for name value in kwargs items setattr
  • 数据操作 startdate enddate python pandas

    我有一个促销描述数据集 其中包含有关正在运行的各种促销活动及其开始日期 结束日期的信息 promo item start date end date Buy1 get 1 A 2015 01 08 2015 01 12 Buy1 get 1
  • MySQL 的 read_sql() 非常慢

    我将 MySQL 与 pandas 和 sqlalchemy 一起使用 然而 它的速度非常慢 对于一个包含 1100 万行的表 一个简单的查询需要 11 分钟以上才能完成 哪些行动可以改善这种表现 提到的表没有主键 并且仅由一列索引 fro
  • 将新形状传递给“np.reshape”

    Within numpy ndarray reshape https docs scipy org doc numpy reference generated numpy ndarray reshape html the shape参数是一
  • Python:如何删除圆括号内的文本?

    我试过了 但没用 return re sub myResultStats text 建议 thanks 尝试这个 return re sub myResultStats text 括号表示捕获组 因此您必须转义它们
  • 使用python同时播放两个正弦音

    我正在使用 python 来播放正弦音 音调基于计算机的内部时间 以分钟为单位 但我想根据秒同时播放一个音调 以获得和谐或双重的声音 这就是我到目前为止所拥有的 有人能指出我正确的方向吗 from struct import pack fr
  • 将带有非字符串关键字的 dict 传递给 kwargs 中的函数

    我使用具有签名功能的库f args kwargs 我需要在 kwargs 参数中传递 python dict 但 dict 不包含关键字中的字符串 f 1 2 3 4 Traceback most recent call last File
  • 无法将 python 数据框中的列类型从 object 转换为 str

    我已经下载了一个csv文件 然后将其读取到python dataframe 现在所有4列都有对象类型 我想将它们转换为str类型 现在dtypes的结果如下 Name object Position Title object Departm
  • 导入错误:无法导入名称 urandom

    我正在构建一个新的 Linux 环境 并在 Python 上看到以下错误 python c import random Traceback most recent call last File
  • 设置区域设置和字符串模块

    这个简单的脚本 from locale import LC ALL setlocale print setlocale LC ALL from string import letters print letters 给我这个输出 tr TR
  • Emacs:调试Python的方法

    我把这个贴在程序员 stackexchange com https softwareengineering stackexchange com questions 29844 emacs methods for debugging pyth
  • 使用 Beautifulsoup 解析时保持 XML 文件的缩进

    我正在使用 BS4 解析 XML 文件并尝试将其写回新的 XML 文件 输入文件
  • captureWarnings 设置为 True 不会捕获警告

    我想记录所有警告 我以为这样的设定captureWarnings to True应该可以解决问题 但事实并非如此 代码 import logging import warnings from logging handlers import
  • 没有名为 urllib.parse 的模块(我应该如何安装它?)

    我正在尝试在 CentOS 7 上运行 REST API 我读到 urllib parse is in Python 3 但我使用的是 Python 2 7 5 所以我不知道如何安装此模块 我安装了所有要求 但仍然无法运行该项目 当我寻找
  • 如何从 Selenium 获取元素的属性

    我正在 Python 中使用 Selenium 我想得到 val of a
  • 计算素数并附加到列表

    我最近开始尝试使用 python 解决 Euler 项目的问题 并且在尝试计算素数并将其附加到列表中时遇到了这个障碍 我编写了以下代码 但我很困惑为什么它在运行时不输出任何内容 import math primes def isPrime
  • 使用 JSON 可序列化枚举自动生成棉花糖模式

    创建与我的模型相同的棉花糖模式的日子已经一去不复返了 我发现这个优秀的答案 https stackoverflow com a 42892443 4097322这解释了我如何使用简单的装饰器从 SQA 模型自动生成模式 因此我实现了它并替换
  • Windows 10 上的 Tensorflow 安装问题

    我正在尝试在 Win 10 计算机上安装 Tensorflow 我成功安装了Python 3 7 然后尝试按照tensorflow org上的安装说明进行操作 执行时 pip install tensorflow 我收到以下错误消息 错误
  • Python中如何实现相对导入

    考虑 stuff init py mylib py Foo init py main py foo init py script py script py想要进口mylib py 这只是一个示例 但实际上我只想在父目录中进行模块的相对导入
  • 应用程序的外观 - Py2exe / wxPython

    所以我的问题是我的应用程序的外观和感觉 因为它看起来像一个旧的外观应用程序 它是一个 wxPython 应用程序 在 python 上它运行良好并且看起来不错 但是当我使用 py2exe 将其转换为 exe 时 外观很糟糕 现在我知道如果你

随机推荐

  • 从 dll 内的函数返回时堆损坏

    我有一个具有如下原型的函数 void function std string str 这个函数在另一个加载和使用该 dll 的程序的主函数中被调用 function some string value here 从该函数返回时 我收到堆损坏
  • 使用 Nokogiri 解析大型 HTML 文件

    我正在尝试解析与 Nokogiri 但不幸的是我无法从页面获取所有项目 我的简单测试代码是 require open uri require nokogiri html Nokogiri HTML open http www pro med
  • bash 中的视频方向检测

    我需要检测视频是以纵向还是横向模式录制的 然后以脚本方式将其转换为正确的方向 if v orient landscape then ffmpeg i file mp4 vf transpose 1 file ogv else ffmpeg
  • ABAP中调用方法的不同方式

    抱歉这个基本的 ABAP 问题 ABAP中调用方法有哪些不同的方式 他们的 官方 名字是什么 我听说过执行 方法调用和内部 内联方法调用 执行使用PERFORM关键字和方法调用CALL METHOD语法 我猜 但什么是 内部 或 内联方法调
  • 如何使用 std::cin 读取 bool

    我是 C 新手 我想知道函数 cin 在布尔数据的情况下如何工作 比方说 bool a cin gt gt a 我知道如果我给出 0 或 1 我的数据 a 将是 true 或 false 但是如果我给出另一个整数甚至一个字符串会发生什么 我
  • 允许所有用户进行临时分发查询

    我正在使用 AD Hoc 分布式查询将数据从 MS SQL Server 2008 传输到 MS Access 该过程使用单个 SQL 语句启动 INSERT INTO OpenDataSource Microsoft Jet OLEDB
  • Arrays.stream(array_name).sum() 比迭代方法慢吗?

    我正在编写一个 leetcode 问题 https oj leetcode com problems gas station https oj leetcode com problems gas station 使用Java 8 我的解决方
  • 是否可以将Spring Data JPA中的@Lock和@Modifying @Query与Hibernate结合起来?

    我有一个 Lock注解与 Modifying Query一起使用时出现问题和查询本身执行更新语句 我的测试设置如下所示 Spring Boot 启动器 1 5 3 RELEASE 休眠 5 2 10 Final Spring Data JP
  • Git 将存储库镜像到特定分支

    我们公司尝试将一个github项目fork到我们自己的git服务器上 然后我们可以在上面添加我们自己的功能 我们只想签出一个特定的分支 并将所有分支和标签保留到该分支 然后复制 镜像 到我们的 git 服务器 在您的服务器上创建存储库 在其
  • Pandas:迭代 DataFrame 列表并将每个数据框导出到 Excel 工作表

    尝试自学编码以自动化工作中一些繁琐的任务 对于任何无意的无知 我深表歉意 我在 pandas python 3 x 中创建了数据框 我想将每个数据框打印到不同的 Excel 工作表中 这是我的 2 个数据帧 它工作完美 但我想缩放它以循环遍
  • 使用新的 YouTube API v3 解析 YouTube 订阅者计数

    我想使用新的 API v3 从我的 YouTube 频道获取订阅者数量 我在这里为 youtube 创建了一个 Google API 应用程序 谷歌 API 控制台 https code google com apis console 我有
  • 为什么“df.lookup”比“df.min”慢?

    我想通过使用来减少一些时间lookup after idxmin 而不是调用min and idxmin 在我看来 第一个应该更有效 因为在第二个中需要搜索两次值 一次搜索最小值 另一次搜索最小值的索引 即 2 倍 O NxM 而在首先 搜
  • VSCode:添加新的活动栏条目和自定义“页面”

    我想在开发扩展时添加新的活动栏条目并创建自定义 页面 这可能吗 我的想法是在 VSCode 中创建一个像 Sequel Pro 一样的数据库管理器 v 1 23 添加了扩展作者向活动栏添加图标的功能 自定义活动栏视图 https code
  • 如何获取多字节字符串的字节大小

    如何在 Visual C 中获取多字节字符串的字节大小 有没有函数或者我必须自己计算字符 或者 更一般地说 如何获得 TCHAR 字符串的正确字节大小 解决方案 tcslen T TCHAR string sizeof TCHAR EDIT
  • 这个吐司是从哪里来的?

    由于某种原因 我正在开发的应用程序正在显示一个 toast 显示我的设备上剩余的内部存储空间 即使我没有对此进行编码 这是一个屏幕截图 https i stack imgur com z2ERU png https i stack imgu
  • Python 2.7 的蓝牙? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 对 Python 2 7 进行蓝牙编程的最佳方法是什么 我尝试使用pybluez https code
  • 使用预定脚本部署 Shiny App

    我有一个简单的脚本 可以在 Rstudio 中用于部署应用程序 rsconnect setAccountInfo name xx token xx secret xx xx library rsconnect deployApp xxx l
  • 链接后台 NSURLSession 上传

    有人成功链接 NSURLSession 后台上传吗 我正在尝试使用 NSURLSession 的后台上传来上传 5 MB 的巨大视频文件 上传必须按顺序进行 整个事情在前台工作得很好 我为此使用 AFNetwoking 它是多部分上传 但是
  • 尝试从一个页面推送到另一页面时出现“找不到组件工厂”错误

    尝试从一个页面推送到另一页面时出现错误 当我尝试推送到同一页面时 它不会给出该错误 只有我在从一个页面推送到另一页面时遇到错误 setRoot 也没有给出错误 this navCtrl push Page7 我已将 Page7 添加到 ap
  • Pandas fillna() 基于特定列属性

    假设我有这张桌子 Type Killed Survived Dog 5 2 Dog 3 4 Cat 1 7 Dog nan 3 cow nan 2 其中的价值之一Killed缺少 Type Dog 我想将平均值归咎于 Killed for