将链接数据帧与其他数据帧一起使用的更快方法 - Python

2023-12-12

我有两个与下面类似的数据框:

import pandas as pd

num1 = ["1111 2222", "3333", "4444 5555 6666", "7777 8888", "9999"]
num2 = ["A1", "A2", "A3", "A4", "A5"] 
linkage = pd.DataFrame({"num1":num1, "num2":num2})
num1 = ["2222", "3333", "5555", "8888", "9999"]
num2 = ['none', 'none', 'none', 'none', 'none']
df = pd.DataFrame({"num1":num1, "num2":num2})

Linkage:

num1            num2 
1111 2222       A1 
3333            A2 
4444 5555 6666  A3 
7777 8888       A4 
9999            A5 

df:

num1   num2
2222   none
3333   none
5555   none
8888   none
9999   none

我想根据第二个数据帧中的“num1”值是否是链接数据帧中的“num1”值之一,将链接数据帧中的“num2”值放置在第二个数据帧中。我目前拥有的代码是:

df.num2 = [linkage.num2[i] for y in df.num1 for i, x in enumerate(linkage.num1) if y in x]

这产生了我想要的:

num1   num2
2222   A1
3333   A2
5555   A3
8888   A4
9999   A5

但数据帧越大,代码速度明显越慢。CPU times: total: 516 ms Wall time: 519 ms有没有更好的使用链接数据框的方法?


split字符串和explode,然后用它来map数据:

mapper = (linkage.assign(num1=linkage['num1'].str.split())
                 .explode('num1')
                 .set_index('num1')['num2']
          )

df['num2'] = df['num1'].map(mapper)

output:

   num1 num2
0  2222   A1
1  3333   A2
2  5555   A3
3  8888   A4
4  9999   A5

中间的mapper:

num1
1111    A1
2222    A1
3333    A2
4444    A3
5555    A3
6666    A3
7777    A4
8888    A4
9999    A5
Name: num2, dtype: object
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将链接数据帧与其他数据帧一起使用的更快方法 - Python 的相关文章

  • 如何替换Python字符串中的正确字母

    任务是 您的任务是纠正数字化文本中的错误 您只需处理以下错误 S 被误解为 5 O 被误解为 0 I 被误解为 1 我的代码 def correct string for i in string if 5 in string string
  • 如何同时运行多个功能[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下代码 my func1 my func2 my func3 my func4 my func5 是否可以同时计算函数的数据 而
  • DynamodB:如何更新排序键?

    该表有两个键 filename 分区键 和eventTime 排序键 我要更新eventTime对于某些filename Tried put item and update item 发送相同的filename与新的eventTime但这些
  • 使用管理员权限打开cmd(Windows 10)

    我有自己的 python 脚本来管理我的计算机上的 IP 地址 它主要在命令行 Windows 10 中执行netsh命令 您必须具有管理员权限 这是我自己的计算机 我是管理员 运行脚本时我已经使用管理员类型的用户 Adrian 登录 我无
  • pyCUDA无法打印结果

    最近 我使用 pip 为我的 python3 4 3 安装 pyCUDA 但我在测试示例代码时发现 https documen tician de pycuda tutorial html getting started https doc
  • 动态字段取决于 WTForms 的先前字段

    我正在使用 WTForms 制作表格 目前 我有这个 class UploadForm flask wtf Form fichier wtforms fields FileField u Fichier description wtform
  • 使用 scikit 时 scipy.sparse 矩阵的缩放问题

    在使用 scikit learn 解决机器学习问题时 我需要在使用 SVM 进行训练之前对 scipy sparse 矩阵进行缩放 但在文档 http scikit learn org stable modules preprocessin
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • 为什么需要设置WORKON_HOME环境变量?

    我已经有一段时间没有使用 python 虚拟环境了 但我也安装了虚拟环境包装器 我的问题是 在文档页面中它说要这样做 export WORKON HOME Envs mkdir p WORKON HOME source usr local
  • 获取 Keras model.summary() 作为表

    我在 Keras 中创建了相当大的模型 我正在用 LaTeX 写一篇关于它的文章 为了很好地描述 LaTeX 中的 keras 模型 我想用它创建一个 LaTeX 表 我可以手动实现它 但我想知道是否有任何 更好 的方法来实现这一点 我四处
  • 了解 Python 2.7 中的缩进错误

    在编写 python 代码时 我往往会遇到很多缩进错误 有时 当我删除并重写该行时 错误就会消失 有人可以为菜鸟提供 python 中 IndentationErrors 的高级解释吗 以下是我在玩 CheckIO 时收到的最近 inden
  • Pandas 合并指标自定义值

    在 pandas 合并期间将指示器更新为更友好的消息的最快方法是什么 默认indicator True yields left only right only both 我想更新为Only present in last month s d
  • Python在没有pandas的情况下解码excel表

    我正在尝试在 python 中读取 excel 文件而不使用pandas or xlrd 我一直在尝试将结果转换为bytes to utf 8没有任何成功 xls 文件中的数据 colA colB colC spc 1D0 20190705
  • Eclipse/PyDev 中未使用导入警告,尽管已使用

    我正在我的文件中导入一个绘图包 如下所示 import matplotlib pyplot as plt 稍后我会在我的代码中成功使用此导入 fig plt figure figsize 16 10 然而 Eclipse 告诉我 未使用的导
  • 哪种方式最适合Python工厂注册?

    这是一个关于这些方法中哪一种被认为是最有效的问题 Pythonic 我不是在寻找个人意见 而是在寻找惯用的观点 我的背景不是Python 所以这会对我有帮助 我正在开发一个可扩展的 Python 3 项目 这个想法类似于工厂模式 只不过它是
  • 根据标点符号列表替换数据框中的标点符号[重复]

    这个问题在这里已经有答案了 使用 Canopy 和 Pandas 我有数据框 a 其定义如下 a pd read csv text txt df pd DataFrame a df columns test test txt 是一个单列文件
  • 如何检测一个二维数组是否在另一个二维数组内?

    因此 在堆栈溢出成员的帮助下 我得到了以下代码 data needle s which is a png image base64 code goes here decoded data decode base64 f cStringIO
  • tf.print() vs Python print vs tensor.eval()

    看来在Tensorflow中 至少有三种方法可以打印出张量的值 我一直在读here https www freecodecamp org news debugging tensorflow a starter e6668ce72617 an
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到
  • 使用 python 将 CSV 文件上传到 Microsoft Azure 存储帐户

    我正在尝试上传一个 csv使用 python 将文件写入 Microsoft Azure 存储帐户 我已经发现C sharp https blogs msdn microsoft com jmstall 2012 08 03 convert

随机推荐

  • Rx.NET:按顺序组合可观察量

    我有2个IConnectableObservable其中一个正在重播旧的历史消息 另一个正在发出新的当前值 HistoricObservable 1 2 3 4 5 6 7 8 CurrentObservable 5 6 7 8 9 10
  • org.xml.sax.SAXParseException:解析 XML 时出现意外标记

    Update 看来我必须提供返回 xml 的 URL 这里是 URL 解析 xml 时出现 SAXParseException 我试图解析的 xml 如下
  • 如何判断一个类是否继承自 NSObject (Objective-C)

    我正在 iPhone 上使用 Objective C 需要知道 类 是否继承自 NSObject 我尝试检查它是否响应 NSObject 选择器 bool success myClass respondsToSelector selecto
  • PHP无法上传文件到服务器?

    我有一个 php 文件 它将 jpegs 和 png 等图像上传到一个名为 uploads 的文件夹中 该文件夹存储在 apache 服务器上 并且与 php 文件位于同一位置 我检查了 HTML 和 PHP 的代码 两者似乎都很好 但是每
  • 使用 Python 数值求解 ODE

    我正在使用 Python 数值求解谐振子的 ODE 当我添加驱动力时 它没有任何区别 所以我猜测代码有问题 任何人都可以看到问题吗 这 h m f0 np cos wd i 部分是动力 import numpy as np import m
  • Visual Studio Express 版本的 Wix 项目模板?

    是否可以在 Express 版本中使用 Wix 我对 2010 2012 版本感兴趣 我知道我可以从命令行使用蜡烛和光 但我对与 IDE 集成感兴趣 VS 的 Express 版本不允许使用必要的插件来扩展 VS 所以你必须继续使用命令行
  • 为什么淡入淡出过渡不适用于共享元素

    我有 2 个 Activity 共享元素转换工作正常 变化范围是唯一应用的过渡 我想在共享元素移动时应用淡入淡出过渡 因此排序为 ORDERING TOGETHER public class TransitionUtils public s
  • 如何使用 Dropwizard 测试 HMAC 身份验证?

    我刚刚开始使用 Dropwizard 0 4 0 我需要一些有关 HMAC 身份验证的帮助 有人有什么建议吗 先感谢您 目前 Dropwizard 不支持开箱即用的 HMAC 身份验证 因此您必须编写自己的身份验证器 HMAC 身份验证的典
  • 使用 jQuery noconflict 与两个版本的 jQuery

    问题是 如果你想在页面上使用 otherLibrary 必须是 otherLibrary 的 而不是 jQuery 的 由于 无论如何只是 jQuery 的别名 因此 jQuery 提供了 noConflict 函数作为告诉 jQuery
  • 字符串过滤器:检测非 ASCII 符号

    我正在创建一个应用程序 它将输入字符串发送到移动设备 有些设备在编码特殊字符方面存在问题 因此我想创建一个过滤器 不允许 PC 上的用户输入特殊字符 该应用程序是用 C NET 3 5 编写的 我想将一个方法附加到按键事件 伪代码如下 pr
  • MySQL my.cnf 文件 - 找到没有前面组的选项

    我正在尝试远程连接到 Ubuntu 中的数据库 但在尝试时收到错误消息mysql u root p 在配置文件中找到没有前面组的选项 etc mysql my cnf 第 1 行 my cnf 看起来像 mysqld user mysql
  • 我的 Recyclerview 没有显示任何内容

    我想将 mysql 数据库中的项目显示到我的 recyclerview 但我不知道为什么它不显示任何内容 回收者视图
  • java.library.path 中没有 swt-mozilla-gtk-4332

    有关新信息 请参阅底部的更新 我有一个包含集成浏览器的 Java SWT 应用程序 在 Windows 和 CENTOS 6 5 上一切正常 我被要求让该应用程序在安装了 CENTOS 7 的新计算机上运行 我不断收到 no swt moz
  • 导入多个文件并提取 r 中的特定列

    我有 20 个数据文件 txt 我的最终目标是从每 20 个文件中选择一个特定列 比方说 V3 并创建一个新文件 我试过 temp lt list files pattern snp blp 我如何从每 20 个文件中提取 V3 并在 r
  • 从 WPF RichTextBox 获取 FontWeight/FontStyle/TextDecorations

    如何检测 WPF RichTextBox 中光标位置的当前文本格式 该帖子的作者还询问了有关 TextDecorations 的问题 您没有提供示例代码及其使用方法的不同 我将其发布为进一步的解决方案 var obj myText GetP
  • Python Pandas:转置还是堆栈?

    您好 我下面有一个示例数据框 我无法通过转置获得所需的结果 x P P O DNP D y O O D DNP DNP z P P O U DNP a O O D DNP DNP b P DNP O U DNP ID ID1 ID2 ID3
  • C# 中的 DateTime 和 SQL Server 中的 DateTime 有什么区别吗?

    C 中的 DateTime 和 SQL Server 中的 DateTime 有什么区别吗 精度和范围 所以 一切都很重要 p 来自 MSDN NET 系统日期时间 DateTime 值类型表示日期和时间 其值范围为公元 0001 年 1
  • Vis.js 网络节点定制:卡片作为节点

    我想建立一个网络 其中节点表示结构类似于卡片的信息 对于卡片 我指的是由两个区域组成的结构 多行文本区域 我可以在其中放置来自不同资源的信息 例如姓名 电话号码 地址和 控制区域 我可以在其中有 2 3 个按钮 最好带有图标 来最大化节点
  • 将自定义对象的数组列表传递给另一个活动

    单击单元格时 对象将添加到数组中 该数组需要传递到另一个活动中 出于测试目的 我传递了只有一个对象 DoctorObject 的数组 然后在下一个活动中 我使用 getName 将名称作为字符串获取 并将其显示在 toast 中 然而吐司是
  • 将链接数据帧与其他数据帧一起使用的更快方法 - Python

    我有两个与下面类似的数据框 import pandas as pd num1 1111 2222 3333 4444 5555 6666 7777 8888 9999 num2 A1 A2 A3 A4 A5 linkage pd DataF