估算 scikit-learn 中的分类缺失值

2024-01-25

我有一些带有文本类型列的熊猫数据。这些文本列中还有一些 NaN 值。我想做的是将那些 NaN 归咎于sklearn.preprocessing.Imputer(用最常见的值替换 NaN)。问题出在执行上。 假设有一个包含 30 列的 Pandas 数据框 df,其中 10 列具有分类性质。 一旦我跑:

from sklearn.preprocessing import Imputer
imp = Imputer(missing_values='NaN', strategy='most_frequent', axis=0)
imp.fit(df) 

Python 生成一个error: 'could not convert string to float: 'run1'',其中“run1”是带有分类数据的第一列中的普通(非缺失)值。

任何帮助将非常受欢迎


要使用数字列的平均值和非数字列的最常见值,您可以执行类似的操作。您可以进一步区分整数和浮点数。我想使用整数列的中位数可能是有意义的。

import pandas as pd
import numpy as np

from sklearn.base import TransformerMixin

class DataFrameImputer(TransformerMixin):

    def __init__(self):
        """Impute missing values.

        Columns of dtype object are imputed with the most frequent value 
        in column.

        Columns of other types are imputed with mean of column.

        """
    def fit(self, X, y=None):

        self.fill = pd.Series([X[c].value_counts().index[0]
            if X[c].dtype == np.dtype('O') else X[c].mean() for c in X],
            index=X.columns)

        return self

    def transform(self, X, y=None):
        return X.fillna(self.fill)

data = [
    ['a', 1, 2],
    ['b', 1, 1],
    ['b', 2, 2],
    [np.nan, np.nan, np.nan]
]

X = pd.DataFrame(data)
xt = DataFrameImputer().fit_transform(X)

print('before...')
print(X)
print('after...')
print(xt)

打印,

before...
     0   1   2
0    a   1   2
1    b   1   1
2    b   2   2
3  NaN NaN NaN
after...
   0         1         2
0  a  1.000000  2.000000
1  b  1.000000  1.000000
2  b  2.000000  2.000000
3  b  1.333333  1.666667
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

估算 scikit-learn 中的分类缺失值 的相关文章

  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS

随机推荐

  • Boost Hana :将 Hana 类型转换为 std::string

    是否存在用于编译时转换 a 成员类型的 Boost Hana 方法Struct类型名的 std string 的 STL 容器的概念 例如 MyType t std array
  • Vala:陷阱、提示和技巧

    作为一名刚接触 Vala 的程序员 您对刚接触该语言的人的第一条建议是什么 这很大程度上取决于您来自什么背景 如果您来自 C C Java 最好的建议是学习函数式编程 Vala 支持真正的闭包 因此您应该 深入 学习如何使用 lambda
  • 核心数据线程和锁争用问题

    我目前正在编写 iOS 应用程序的同步引擎 我正在编写的方法之一是重新加载数据函数 其中应用程序重新下载用户的数据及其所有照片 这是一项昂贵的操作 时间方面 所以我创建了一个NSOperation子类 SSReloadDataOperati
  • Dropzone 和 webpack encore

    我正在尝试将 dropzone 集成到我的 Symfony 4 1 项目中 但我遇到了麻烦 我通过 npm 将 dropzone 添加到我的项目中 npm install dropzone In 资产 app js 我需要拖放区 use s
  • 如何在 Oracle Commerce(ATG) 中使用 生成动态 URL

    我正在尝试使用 ProductLookup Droplet 在 jsp 中显示产品列表 如下所示 我还尝试提供一个超链接来导航到单个产品的产品详细信息页面
  • 使用 Python 读取 CR2(原始佳能图像)标头

    我正在尝试提取从 CR2 原始图片的佳能格式 拍摄照片的日期 时间 我知道CR2规格 http lclevy free fr cr2 而且我知道我可以使用 Pythonstruct http docs python org library
  • ASP.NET Core:是否可以使用HttpClient获取文件并直接返回?

    我有一个内部 API 可以获取并返回文件结果 但是 此 API 没有任何身份验证 角色 权限检查的概念 并且无法修改以执行此操作 我想在现有的 ASP NET Core 2 Web API 上创建一个 Web API 端点来进行权限检查 调
  • Prolog 搜索从列表中减去 2 个元素的可能组合

    这是本页的扩展问题 Prolog 可能删除列表中的元素 https stackoverflow com questions 33652059 prolog possible removal of elements in a list 336
  • 在 Visual Studio 中调试/导航 JS 代码

    有没有办法启用f12 or 查找所有参考文献 across JavaScript文件在视觉工作室 我在用着要求JS在我的 SPA 中注册 js 文件 我在用着骨干JS以及 有什么技巧可以像使用 C net 代码一样在 Visual Stud
  • 优化自定义 WordPress SQL 查询以获取用户元数据

    我有以下查询并且它有效 但由于它的堆积 处理需要非常长的时间 因此 我需要帮助才能更快地获得此查询 SQL查询 在查询中 PRODUCT ID 应替换为 和产品 ID 号 SELECT b order id customer meta me
  • 在 bin 文件夹之外的 ASP.NET 项目中解析程序集

    我怎么能够解析程序集引用在 ASP NET Web 开发服务器的 bin 文件夹之外 这对于没有相同 dll 的副本很有用 什么都不起作用 探测 web config 中的元素 http msdn microsoft com en us l
  • Grep 输出添加额外的破折号和换行符

    我在 mac 上使用 bash 来运行一些 grep 并且使用随 macports 安装的 GNU grep 无论如何 我正在尝试使用 grep 查询 fasta 文件 DNA 序列 序列 ID 在一行上 DNA 序列在下一行 以根据要查询
  • IOS 如何使用 nsscanner 类查找完整的 rss feed 链接

    我正在致力于从基于 RSS feed 的项目中获取数据 通过在 google 上搜索 我发现通常在 HTML 源中以这种格式找到 RSS 链接 所以 我必须使用 nsscanner 类从 HTML 源中查找 RSS feed 的链接 但我不
  • 如何使用 google 地图 api v3 旋转地图方向

    非常简短的问题 因为我在谷歌地图 api V3 文档中找不到答案 我正在寻找一个控件 它允许我控制 修改 api 地图的方向 以便北不在顶部 这可能吗 如果是这样 怎么办 Thanks 你可以这样做45度虚数 https developer
  • 在 Maven 中创建 zip,并在 jar 旁边添加其他文件

    我唯一的 Maven 经验是包含其他库 因此我需要一个非常基本的解释来说明如何使用 Eclipse 在 Maven 中实现某些功能 我想定期创建我的罐子 然后我想再获取 3 个文件 并将所有文件放在 1 个 zip 文件中 我的 zip 内
  • 如何传递对 aframe 组件的引用?

    我正在编写一个自定义 aframe 组件来渲染基于很长的对象数组的网格 Aframe 文档仅将数组列为输入类型 您可以在其中传递属性 它将被解析为数组attributename 1 2 3 我想从外部将 JavaScript 引用传递到组件
  • 相当于WPF中的InvokeRequired

    WPF 中是否有与 Form InvokeRequired 等效的函数 例如调度程序 InvokeRequired 这有点奇怪 因为它没有出现在智能感知中 但您可以使用 var dispatcher myDispatcherObject D
  • 当 GPS(或定位服务)启动/停止时接收通知(通过 BroadcastReceiver)

    我尝试了一种使用 BroadcastReceiver 来侦听的方法提供商 已更改 http developer android com reference android location LocationManager html PROV
  • 如何从 WCF 服务返回干净的 JSON?

    我正在尝试从 WCF 服务返回一些 JSON 该服务只是从我的数据库返回一些内容 我可以拿到数据 但是 我担心 JSON 的格式 目前 返回的 JSON 格式如下 d Age 35 FirstName Peyton LastName Man
  • 估算 scikit-learn 中的分类缺失值

    我有一些带有文本类型列的熊猫数据 这些文本列中还有一些 NaN 值 我想做的是将那些 NaN 归咎于sklearn preprocessing Imputer 用最常见的值替换 NaN 问题出在执行上 假设有一个包含 30 列的 Panda