估算 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 中的分类缺失值 的相关文章

随机推荐

  • 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