当 DataFrame 列中的值以字符串开头时,使用 lambda 替换它们

2023-12-27

我有一个数据框:

import pandas as pd
import numpy as np
x = {'Value': ['Test', 'XXX123', 'XXX456', 'Test']}
df = pd.DataFrame(x)

我想使用 lambda 将以 XXX 开头的值替换为 np.nan。

我已经尝试了很多替换、应用和映射的方法,我能做的最好的就是“假”、“真”、“真”、“假”。

下面的方法有效,但我想知道更好的方法,并且我认为应用、替换和 lambda 可能是更好的方法。

df.Value.loc[df.Value.str.startswith('XXX', na=False)] = np.nan

use the apply https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html method

In [80]: x = {'Value': ['Test', 'XXX123', 'XXX456', 'Test']}
In [81]: df = pd.DataFrame(x)
In [82]: df.Value.apply(lambda x: np.nan if x.startswith('XXX') else x)
Out[82]:
0    Test
1     NaN
2     NaN
3    Test
Name: Value, dtype: object

Performance Comparision of apply, where, loc enter image description here

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

当 DataFrame 列中的值以字符串开头时,使用 lambda 替换它们 的相关文章

随机推荐

  • 在 Android/Jetpack Compose 中手动预填充导航后台

    是否可以在 Android Jetpack Compose 中预填充导航后台 我有一个深层链接 可以深入导航层次结构 但是 按后退时 它会导航到根路线 Example Route Main gt Route List gt Route De
  • 请求相机权限 Flutter Web

    我需要在我的网络应用程序中使用相机 所以我想如果用户拒绝在他 她的浏览器上使用相机 我会再次请求它允许相机许可 这是我的代码 import package universal html html dart as html RaisedBut
  • 何时在 Blazor 中使用 ValueChanged 和 ValueExpression?

    我在一些库 MatBlazor Telerik 中看到了这种常见模式ValueChanged and ValueExpression属性 这真的让我很困惑 两者有什么区别 以及什么时候使用它 我想添加一些用例ValueChanged and
  • 我们如何对使用 cy.get() 获取的元素进行切片,然后仅对这些特定元素运行测试?

    cy get li slice 0 5 上面的代码行不起作用 因为它显示错误消息 类型 Chainable 上不存在属性 slice 有没有办法对我们获取的元素进行切片cy get 还有其他几种方法可以做到这一点 添加伪选择器 lt 5 取
  • 流行博客文章排名算法

    我正在建立一个博客聚合器 例如Techmeme http techmeme com它可以从多个博客中查找最受欢迎的帖子 与 Techmeme 不同 我首先从各种 RSS 源聚合博客文章 然后将标题和相关 URL 保存在数据库中 之后 我必须
  • 单击工具提示内容 vuetify

    大家 我有一个问题 可以点击工具提示内容来调用任何函数吗 当我的工具提示打开时 我想单击调用测试功能的范围
  • 光滑的轮播从右到左

    我已经设置了光滑的轮播来连续滚动 但是我需要向相反的方向滚动 添加 RTL 选项似乎不起作用 在这里小提琴 目前从左到右 http jsfiddle net mth2ghod http jsfiddle net mth2ghod funct
  • 要解密的数据超出了该模数的最大值 128 字节。 RSA解密c#

    我不知道如何在使用 X509 证书中的私钥解密文件时解决此异常 要解密的数据超出了该模数 128 字节的最大值 byte data File ReadAllBytes F enc test file1 txt X509Certificate
  • 本机库未在设备上运行

    我已将armeabi armeabi v7a 文件夹放入libs 文件夹中 而不是放入maven 存储库中 但我在使用 libgdx 时遇到以下错误 库 gdx backend jogl natives jar 包含不会在设备上运行的本机库
  • 获取特定 div 的 span 类内的文本

    我正在 T Mobile 网站上查找有关三星 Galaxy S9 的评论 我能够为 HTML 代码创建一个 Beautiful Soup 对象 但我无法获取 span 类中存在的评论文本 还需要遍历评论页面以收集所有评论 我尝试了 2 个代
  • jquery 调用 highcharts 生成错误 17

    我试图从 highcharts com 获取一个仪表 在我已经完成示例的页面上工作 但我看不出我做错了什么 如果有人能指出正确的方向 这是我的小提琴 高图仪表不工作 http jsfiddle net F6XUT 这是我的代码
  • Oracle:结合使用 ROWNUM 和 ORDER BY 子句更新表列

    我想用连续的整数填充表列 所以我考虑使用 ROWNUM 但是 我需要根据其他列的顺序填充它 例如ORDER BY column1 column2 不幸的是 这是不可能的 因为 Oracle 不接受以下声明 UPDATE table a SE
  • 使用高分辨率纹理优化 SceneKit 性能

    我是一位相当有经验的 iOS 开发人员 但完全是 SceneKit 新手 试图在基本应用程序中模拟一些行星 为此 我使用火星 金星等的高分辨率法线和漫反射贴图 应用于基本球体 他们工作了 它们看起来棒极了 正是我想要的 问题是 我得到了ki
  • Jquery 模式对话框禁用滚动条

    正如您在此链接中看到的 http jsbin com ozapol 9 http jsbin com ozapol 9 Jquery 在某些版本的 IE 和最新版本的 Chrome 上禁用滚动条 我还没尝试过其他的 有没有办法保持滚动条启用
  • 正则表达式中的命名捕获组

    我需要正则表达式的帮助来捕获以下字符串中的数字和连字符 一些文字和东西 200 1234EM 一些其他东西 它也可以不带连字符的部分出现 一些文本 123EM 其他文本 我需要在命名捕获组中使用 200 1234 或 123 我试过这个 b
  • 嵌入双引号的 CSV 解析

    我写了一个简单的 CSV 文件解析器 但看完之后有关 CSV 格式的 wiki 页面 http en wikipedia org wiki Comma separated values我注意到基本格式的一些 扩展 通过双引号专门嵌入逗号 我
  • 如何让 ActionController::Live Streaming 与 Thin 一起工作?

    Question 你能用吗thin with ActionController Live实现服务器端事件 SSE 和长轮询 如果是这样 怎么办 Context 虽然标题是重复的如何让 Rails 4 ActionController Liv
  • Python 2.6.6 中的小数和科学计数法问题

    我在处理十进制值时遇到困难 在某些情况下需要将其用于算术 而在其他情况下则需要将其用作字符串 具体来说 我有一份费率清单 例如 rates 0 1 0 000001 0 0000001 我使用它们来指定图像的压缩率 我最初需要将这些值作为数
  • 编辑数据时如何获取选定值 [codeigniter]

    当我编辑数据时 如何获取选定的值 但我仍然可以选择 codeigniter div class form group div
  • 当 DataFrame 列中的值以字符串开头时,使用 lambda 替换它们

    我有一个数据框 import pandas as pd import numpy as np x Value Test XXX123 XXX456 Test df pd DataFrame x 我想使用 lambda 将以 XXX 开头的值