根据条件重命名 pandas 数据框的多列

2023-12-12

我有一个 df,需要将 40 个列名称重命名为空字符串。这可以通过使用来实现.rename(),但我需要提供 dict 中的所有列名,需要重命名。我正在寻找一些更好的方法通过某种模式匹配来重命名列。无论在列名中发现 NULL/UNNAMED,都将其替换为空字符串。

df1:原始df(在实际df中,我有大约20列作为NULL1-NULL20和20列作为UNNAMED1-UNNAMED20)

    NULL1   NULL2   C1  C2  UNNAMED1    UNNAMED2
0   1   11  21  31  41  51
1   2   22  22  32  42  52
2   3   33  23  33  43  53
3   4   44  24  34  44  54

期望的输出 df:

            C1  C2      
0   1   11  21  31  41  51
1   2   22  22  32  42  52
2   3   33  23  33  43  53
3   4   44  24  34  44  54

这可以通过以下方式实现

df.rename(columns={'NULL1':'', 'NULL2':'', 'UNNAMED1':'', 'UNNAMED2':''}, inplace=True)

但我不想创建 40 个元素的长字典


如果你想坚持rename:

def renaming_fun(x):
    if "NULL" in x or "UNNAMED" in x:
        return "" # or None
    return x

df = df.rename(columns=renaming_fun)

如果映射函数变得更复杂,它会很方便。否则,列表推导式将执行以下操作:

df.columns = [renaming_fun(col) for col in cols]

另一种可能性:

df.columns = map(renaming_fun, df.columns)

但正如已经提到的,使用空字符串重命名并不是您通常会做的事情。

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

根据条件重命名 pandas 数据框的多列 的相关文章

  • 动态添加字段到数据类对象

    我正在编写一个库来访问 REST API 它返回带有用户对象的 json 我将其转换为 dict 然后将其转换为数据类对象 问题是并非所有字段都是固定的 我想动态添加其他字段 未在我的数据类中指定 我可以简单地为我的对象分配值 但它们不会出
  • 仅选择多索引 DataFrame 的一个索引

    我正在尝试仅使用多索引 DataFrame 中的一个索引创建一个新的 DataFrame A B C first second bar one 0 895717 0 410835 1 413681 two 0 805244 0 813850
  • 在Python中从字符串中删除除字母数字字符之外的所有内容

    使用 Python 从字符串中去除所有非字母数字字符的最佳方法是什么 中提出的解决方案这个问题的 PHP 变体 https stackoverflow com questions 840948可能会进行一些小的调整 但对我来说似乎不太 Py
  • 从 colab 中的驱动器中的 python 脚本导入 python 模块

    我目前正在 Google Colab 上开展一个使用 Tensorflow API 的机器学习项目 我创建了一个文件夹并将其上传到谷歌驱动器上以在谷歌Colab上运行 我成功安装了谷歌驱动器并可以运行脚本 但是当我尝试从同一文件夹中的脚本导
  • Google Cloud Functions 中的 Python

    Google Cloud Functions 可以使用 sklearn pandas 等包处理 python 吗 如果是这样 有人可以向我指出如何做到这一点的资源方向 我已经搜索了一段时间 似乎这是不可能的 我找到的只是将基本 python
  • 在Python中使用readlines?第一次

    我有一个包含数据列的文本文件 我需要将这些列转换为单独的列表或数组 这就是我到目前为止所拥有的 f open data txt r temp for row in f readlines Data row split temp append
  • 使用 imaplib 库连接到电子邮件时遇到 AUTHENTICATIONFAILED 错误

    如何连接到 imaplib 库而不遇到 AUTHENTICATIONFAILE 错误 通过网络浏览器登录时 我的 Gmail 收件箱显示严重的安全警报 登录尝试被阻止 IMAP SERVER imap gmail com USERNAME
  • scikit-learn 使用的 CART 算法是确定性的吗?

    我从 scikit learn 网站获得以下代码 import numpy as np from sklearn datasets import load iris from sklearn model selection import c
  • 为什么在我的例子中 For 循环比 Map、Reduce 和 List 理解更快

    我编写了一个简单的脚本来测试速度 这就是我发现的结果 实际上 for 循环在我的例子中是最快的 这真的让我感到惊讶 请查看下面 正在计算平方和 这是因为它在内存中保存列表还是有意为之 谁能解释一下这一点 from functools imp
  • Python 有限边界 Voronoi 单元

    我正在尝试改编我在 stackoverflow 上找到的代码来创建具有有限边界的 voronoi 单元 我发现下面的代码https stackoverflow com a 20678647 2443944 https stackoverfl
  • 无法在 VS Code 中导入

    我是 python 新手 一直在使用 VS code 现在我正在研究汤普森采样问题 需要 numpy 和 matplotlib 我已经导入了这两个库 但 VS code 给出了无法导入的错误 我知道我必须使用 PIP 进行安装 并且我已经看
  • SQLAlchemy/pandas to_sql for SQLServer -- 在主数据库中创建表

    使用 MSSQL 版本 2012 我使用 SQLAlchemy 和 pandas 在 Python 2 7 上 将行插入 SQL Server 表中 使用特定服务器字符串尝试 pymssql 和 pyodbc 后 我正在尝试 odbc 名称
  • 根据另一个参数的值添加参数

    根据输入之一 我想初始化某些对象 这些对象的值将是其余参数的默认值 因此 即使在 parser parse args 之前 我也需要参数之一的值 我如何使用 python argparse 模块来实现这一点 所有选项都将作为一个命令行给出
  • Numpy 附加到一个空数组

    第一种情况 gt gt gt import numpy as np gt gt gt x np array 0 gt gt gt x np append x 1 gt gt gt x array 0 1 x包含 2 个元素 这是为什么 第二
  • 在unittest.main()之后执行命令

    我从另一个 Python 脚本调用以下脚本 测试 py 日志文件 它应该运行测试并将结果保存在日志文件中 但由于某种原因 之后的命令unittest main testRunner runner 没有被执行 我什至不确定文件写入后是否会关闭
  • bdist_rpm 从 Ubuntu 到 CentOs

    我们在 Ubuntu Mac 上进行开发 并将 RPM 部署到 CentOS 这是设置 不能更改太多 问题是 当从 rpm 安装时 软件包会转到 usr local lib python2 7 dist packages 这是 Ubuntu
  • Jinja2 为 Google App Engine 模型返回“None”字符串

    Google App Engine 模型 如下所示 from google appengine ext db import Model class M Model name db StringProperty 然后在从 Django 视图调
  • Matplotlib:以数据坐标中给定的宽度绘制线条

    我试图弄清楚如何绘制具有数据单位宽度的线条 例如 在下面的代码片段中 我希望宽度为 80 的线的水平部分始终从 y 40 延伸到 y 40 标记 并且即使坐标系的限制也保持这种状态改变 有没有办法用 matplotlib 中的 Line2D
  • 如何使用DecisionTreeClassifier平衡分类?

    我有一个数据集 其中类别不平衡 课程是0 1 or 2 如何计算每个类别的预测误差然后重新平衡weights相应地在 scikit learn 中 如果您想完全平衡 将每个类别视为同等重要 您可以简单地通过class weight bala
  • Python递归限制与堆栈大小?

    我了解递归中每个递归调用如何堆栈在堆栈上 如果超出堆栈限制 则会出现堆栈溢出 那么为什么Python的sys getrecursionlimit 返回一个数字 递归调用的最大深度 这不取决于我在该递归函数中所做的事情吗 或者它是否以某种方式

随机推荐

  • 是否可以交换两个变量的地址?

    我知道可以像这样交换两个变量的值 include
  • 复合主键中可为空的列有什么问题?

    ORACLE 不允许在构成主键的任何列中出现 NULL 值 大多数其他 企业级 系统似乎也是如此 同时 大多数系统还允许unique对可为空的列的约束 为什么唯一约束可以有 NULL 而主键却不能 这是否有根本的逻辑原因 或者这更多的是技术
  • 使用 Jackson 将 xml 转换为 json

    我想将 xml 转换为 json xml的格式如下
  • Web api 调用中的空引用

    这很奇怪 我不明白这里发生了什么 我有一个 Web api 项目 在一个控制器中对某种方法的调用最终会调用服务中的一个函数 如下所示 public MyClassBase GetThing Guid id if cache Contains
  • 带有装饰函数参数的 python 装饰器

    当我用以下内容包装函数时 如何使包装函数看起来和感觉与包装函数完全相同 help function 尤其 一些代码 gt gt gt def wraps f def call args kw print in f args kw examp
  • Silverlight 中的多个异步 UI 更新

    如何从 Silverlight 回调执行多个 UI 更新 例如 我希望用户单击一个按钮 让 UI 进行更改 做一些工作 然后进行另一个更改 相反 用户单击按钮 回调似乎在后台执行 然后所有用户界面的变化在我眼前闪现 主页 xaml
  • 使用“matplotlib.mlab.griddata”时程序挂起

    我编写了一个脚本 Python 2 6 来以 x y z csv 格式 网格数据 并显示数据的等高线图 该脚本适用于某些数据集 但不适用于其他数据集 即使这两个数据集是使用相同的脚本创建的 要绘制的数据集是通过对主数据集进行二次采样而创建的
  • 如何获取天数和日期之间的差异

    function duration day date date1 date date2 date create Y m d date1 date create Y m d strtotime date echo date1 echo dat
  • Swift 中“self”的用途是什么?

    我是 Swift 新手 我想知道什么self用于以及为什么 我在类和结构中看到过它 但我真的不认为它们是必要的 甚至没有必要在我的代码中提及它们 它们的用途是什么 为什么 什么情况下需要使用它 我已经阅读了很多关于这个问题的问题和答案 但没
  • 如何在文件下载时提示“另存为”对话框

    我试图在下载文件时提示 另存为 对话框 但我得到的是 或者文件正在浏览器上打开 或者下载文件时没有提示保存位置和保存名称 我的控制器的代码 public FileContentResult Save string text string c
  • 如何从同一个板条箱中的不同模块导入/使用宏?

    现实生活场景 我想用crate app verbose trace string literal inside crate app args parse module 可重现的场景 经过一个小时的尝试 我得到了以下简单的例子 它暴露了我对宏
  • 准备用于打印单色位图图像的 ZPL 命令

    我在准备 ZPL 命令以在 Zebra RZ400 300 dpi 上打印位图图像时遇到问题 我有以下代码片段 但我不明白我到底在哪里犯了错误 var bitmapImagePath C Sample bmp Gets the size o
  • 当按下按钮时如何模拟按下不同的按钮?

    是否可以使用 vue js 模拟按下按钮时按下另一个按钮 For example if I press the Arrow down button I would like it to be represented as if I had
  • Oracle.数据访问错误

    我有一个在 Windows 环境中运行的 asp net C Web 应用程序 该项目构建良好 并在我本地计算机的 VB net 开发服务器上完美运行 但是 当我发布到真实应用程序服务器时 我收到以下错误消息 OracleException
  • 缓存 ASHX 图像响应

    我创建了一个 ashx 文件来动态生成图像缩略图 我想在第一次调用这些图像后在客户端缓存这些图像 URL image ashx dir user w 25 h 25 force yes img matt jpg 背后代码 public vo
  • 使用 DirectiveResolver 更改 @Component 元数据

    我想知道如何使用DirectiveResolver对象改变给定的Component 依赖关系 现在 ng2 发展如此之快 东西很快就过时了 angular common 2 4 3 angular compiler 2 4 3 angula
  • 需要帮助在 document.queryselector 的 nextjs 页面上插入 useEffect 状态

    我需要帮助输入 useEffect 挂钩 以便使 document queryselector 在代码底部工作 javascript 的基本作用是获取数字和圆形进度条 并将数字和进度条对齐 以同时移动其递增的每个数字 我只需要帮助添加 us
  • 通过 wifi 从 android 访问 localhost

    我写了一个Https webservice 所以它是用SSL加密的 为了进行测试 我想通过 wifi 访问此网络服务 edit示例 我的 Web 服务正在虚拟机编号 111 上运行 我想通过 wifi 访问它 因此地址为https VM11
  • Pandas 中的逐元素逻辑或

    我知道 AND 对应于 并不是 什么是逐元素逻辑 OR 运算符 我知道 或 本身不是我要找的 对应的运算符是 df df lt 3 df 5 将按元素检查 value 是否小于 3 或等于 5 如果您需要一个函数来执行此操作 我们有np l
  • 根据条件重命名 pandas 数据框的多列

    我有一个 df 需要将 40 个列名称重命名为空字符串 这可以通过使用来实现 rename 但我需要提供 dict 中的所有列名 需要重命名 我正在寻找一些更好的方法通过某种模式匹配来重命名列 无论在列名中发现 NULL UNNAMED 都