替换 pandas 数据框中很少出现的值

2024-01-06

我有一个中等大(约 60,000 行 x 15 列)的 csv 文件,我正在使用 pandas 处理它。每行代表一个人并包含个人数据。我想匿名呈现数据。我想要这样做的一种方法是替换特定列中罕见的值。我最初尝试这样做:

def clean_data(entry):
    if df[df.column_name == entry].index.size < 10:
        return 'RARE_VALUE'
    else:
        return entry

df.new_column_name = df.column_name.apply(clean_data)

但每次运行它都会冻结我的系统。不幸的是,这意味着我没有有用的调试数据。有谁知道执行此操作的正确方法?该列包含字符串和空值。


我想你想按列名称分组:

g = df.groupby('column_name')

例如,您可以使用过滤器来仅返回那些在 column_name 中出现超过 10 次的内容的行:

g.filter(lambda x: len(x) >= 10)

要使用“RARE_VALUE”覆盖列,您可以使用转换(计算结果once对于每个组,并适当地分散它):

df.loc[g[col].transform(lambda x: len(x) < 10).astype(bool), col] = 'RARE_VALUE'

正如 DSM 指出的,以下技巧是much faster:

df.loc[df[col].value_counts()[df[col]].values < 10, col] = "RARE_VALUE"

以下是一些 timeit 信息(以显示 DSM 的解决方案是多么令人印象深刻!):

In [21]: g = pd.DataFrame(np.random.randint(1, 100, (1000, 2))).groupby(0)

In [22]: %timeit g.filter(lambda x: len(x) >= 10)
10 loops, best of 3: 67.2 ms per loop

In [23]: %timeit df.loc[g[1].transform(lambda x: len(x) < 10).values.astype(bool), 1]
10 loops, best of 3: 44.6 ms per loop

In [24]: %timeit df.loc[df[1].value_counts()[df[1]].values < 10, 1]
1000 loops, best of 3: 1.57 ms per loop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

替换 pandas 数据框中很少出现的值 的相关文章

  • Virtualenv 在 OS X Yosemite 上失败并出现 OSError

    我最近更新到 OSX Yosemite 现在无法使用virtualenv pip 每当我执行 virtualenv env 它抛出一个 OSError Command Users administrator ux env bin pytho
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • 如何确保 re.findall() 停止在正确的位置?

    这是我的代码 a import re re findall r lt title gt lt title gt a 结果是 title aaa
  • Python Tkinter 模块不显示输出

    我正在尝试学习 Python 并尝试使用 Python 中的 GUI 并遇到了这个 Tkinter 模块 我的代码运行 但运行时窗口没有出现 我的代码如下 from Tkinter import to create a root windo
  • AttributeError:“模块”对象没有属性[重复]

    这个问题在这里已经有答案了 我有两个 python 模块 a py import b def hello print hello print a py print hello print b hi b py import a def hi
  • Paste.httpserver 并通过 HTTP/1.1 Keep-alive 减慢速度;使用 httperf 和 ab 进行测试

    我有一个基于paste httpserver 的Web 服务器作为HTTP 和WSGI 之间的适配器 当我使用 httperf 进行性能测量时 如果每次使用 num conn 启动一个新请求 我每秒可以执行超过 1 000 个请求 如果我使
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 两个不同长度的数据帧的列之间的余弦相似度?

    我在 df1 中有文本列 在 df2 中有文本列 df2 的长度将与 df1 的长度不同 我想计算 df1 text 中每个条目与 df2 text 中每个条目的余弦相似度 并为每场比赛给出分数 输入样本 df1 mahesh suresh
  • 查找 Pandas DF 行中的最短日期并创建新列

    我有一个包含多个日期的表 有些日期将为 NaN 我需要找到最旧的日期 所以一行可能有 DATE MODIFIED WITHDRAWN DATE SOLD DATE STATUS DATE 等 因此 对于每一行 一个或多个字段中都会有一个日期
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • 是否需要关闭没有引用它们的文件?

    作为一个完全的编程初学者 我试图理解打开和关闭文件的基本概念 我正在做的一项练习是创建一个脚本 允许我将内容从一个文件复制到另一个文件 in file open from file indata in file read out file
  • 可以使用哪些技术来衡量 pandas/numpy 解决方案的性能

    Question 如何简洁全面地衡量下面各个功能的性能 Example 考虑数据框df df pd DataFrame Group list QLCKPXNLNTIXAWYMWACA Value 29 52 71 51 45 76 68 6
  • 为什么 __dict__ 和 __weakref__ 类从未在 Python 中重新定义?

    类创建似乎从来没有re 定义 dict and weakref class属性 即 如果它们已经存在于超类的字典中 则它们不会添加到其子类的字典中 但始终re 定义 doc and module class属性 为什么 gt gt gt c
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • 如何在不调用 onCreate() 的情况下返回第一个活动

    我有3个活动 活动A 活动B 活动C 这就是流程A gt B gt C 现在我想从 C 进入活动 A 即 C gt A 而不调用活动 A 的 onCreate 到目前为止我的代码是 但是它会调用Activity的onCreate 我想调用R
  • 使用 py2neo WriteBatch 将大图数据插入 Neo4j

    我有一个由以下文件表示的图表 VertexLabel txt gt 每行包含每个顶点的属性 EdgeLabel txt gt 每行包含每条边的属性 EdgeID txt gt 每行包含 3 个分隔的整数 对应于标签文件中的索引 源索引 目标
  • 如何在 PHP 中使用类常量作为类属性?

    这是不起作用的代码 class MyClass const myconst somevalue private myvar array 0 gt do something with self myconst 似乎类常量在 编译时 不可用 而
  • listStatus 端点包括响应中的收件人状态

    有没有办法在 listStatus 端点的响应正文中包含收件人状态 这是我提出的卷曲请求 curl X PUT https na2 docusign net restapi v2 accounts XXXXX envelopes statu
  • Javascript 相当于 Java 的 UUID 类

    在java中 你可以做类似的事情 UUID id UUID fromString eb66c416 4739 465b 9af3 9dc33ed8eef9 long msb id getMostSignificantBits long ls
  • 把jdbc操作放在actor中好不好?

    我正在构建一个传统的 Web 应用程序 通过 JDBC 执行数据库 CRUD 操作 我想知道将 jdbc 操作放入当前请求处理线程之外的参与者中是否合适 我做了一些搜索 但没有找到演示此功能的教程或示例应用程序 那么有哪些缺点和优点呢 这种
  • 如何在 PHP 中重命名子数组键? [复制]

    这个问题在这里已经有答案了 当我对名为 tags 多维数组 的变量进行 var dump 时 我得到以下信息 Array 0 gt Array name gt tabbing url gt tabbing 1 gt Array name g
  • 如何让查询生成器将其原始 SQL 查询输出为字符串?

    给出以下代码 DB table users gt get 我想获取上面的数据库查询生成器将生成的原始 SQL 查询字符串 在这个例子中 它将是SELECT FROM users 我该怎么做呢 Answer recommended by PH
  • 以编程方式更改 Android EditText 的色调颜色

    我正在尝试改变一个的着色颜色EditText在运行时以编程方式查看 基本上我想改变你通常应用的内容 attr colorControlNormal就像在默认背景可绘制 https github com android platform fr
  • nth-child:如何选择两个一组的元素

    假设我有一个这样的表 div class fc slats table tbody tr td class fc widget content fc major 16 td td class fc widget content fc min
  • play 和 postgres 未找到关系错误(虽然表确实存在)

    我有一个名为 ETL TABLES 的表 它驻留在公共模式上 在 我的 application conf 我有以下行 hibernate default schema public 这应该意味着 postgres 的 search path
  • Android - 等待齐射响应以继续

    我构建了一个应用程序 它在地图中加载标记 我为 volley JSON 文件获取标记 但我需要首先加载 volley 然后继续执行代码 因为另一种方式显示错误纬度空 这个参数加载得不快 另一个方法先执行并显示 null 我的负载标记齐射代码
  • React/TypeScript:具体为组件输入 props.children

    假设我们有一个组件Foo呈现props children和另一个组件Bar 两个模块都导出一个 props 接口 有没有办法强制执行Foo的孩子可以是only类型的Bar 理想情况下 我们可以在构建时使用 TypeScript 来完成此任务
  • 在 CakePHP 3 中连接多个数据库

    我想将一些数据历史记录和日志存储在其他数据库表中 就未来的记录而言 这可能是非常大的数据库 还应该支持跨数据库 SQL 连接 所以请帮我解决这个问题 提前致谢 您可以按照以下步骤在同一个 cakephp 应用程序中使用多个数据源 在 Con
  • .NET 中的标准输入和输出

    如何从标准输入读取并写入标准输出 System Diagnostics Process StandardInput 的 MSDN 参考没有帮助 因为它单独启动进程 然后重定向标准输入 输出 但是如果该进程已经在运行并调用我的应用程序来为其提
  • 需要一个 CouchDB 技巧来按日期排序并按组过滤

    我有包含 日期 和 组 字段的文档 这是我的观点 byDateGroup map function doc if doc date doc group emit doc date doc group null 与此等效的查询是什么 sele
  • Java 中的独立 Socket.IO 服务器

    我正在寻找一个用 Java 编写的简单 Socket IO 服务器 我熟悉this one http code google com p socketio java 但它依赖于 servlet 而我没有在我的应用程序中使用它 我正在寻找类似
  • Spark python中基于条件过滤RDD并提取匹配数据

    我有这样的数据 cl id cn id cn value 10004 77173296 390 0 10004 77173299 376 0 10004 77173300 0 0 20005 77173296 0 0 20005 77173
  • 媒体源扩展 (MSE) 与 WebRTC 的比较

    媒体源扩展和 WebRTC 之间的根本区别是什么 我可以暂时表达一下我自己的理解吗 WebRTC 包含一个 RTCPeerConnection 它处理从媒体流获取流并将它们传递到协议以流式传输到应用程序的连接对等点 WebRTC 似乎在底层
  • 替换 pandas 数据框中很少出现的值

    我有一个中等大 约 60 000 行 x 15 列 的 csv 文件 我正在使用 pandas 处理它 每行代表一个人并包含个人数据 我想匿名呈现数据 我想要这样做的一种方法是替换特定列中罕见的值 我最初尝试这样做 def clean da