将自定义函数应用于 PySpark 中数据框的选定列的单元格

2024-03-01

假设我有一个如下所示的数据框:

+---+-----------+-----------+
| id|   address1|   address2|
+---+-----------+-----------+
|  1|address 1.1|address 1.2|
|  2|address 2.1|address 2.2|
+---+-----------+-----------+

我想将自定义函数直接应用于address1 and address2列,例如:

def example(string1, string2):
    name_1 = string1.lower().split(' ')
    name_2 = string2.lower().split(' ')
    intersection_count = len(set(name_1) & set(name_2))

    return intersection_count

我想将结果存储在一个新列中,以便我的最终数据框如下所示:

+---+-----------+-----------+------+
| id|   address1|   address2|result|
+---+-----------+-----------+------+
|  1|address 1.1|address 1.2|     2|
|  2|address 2.1|address 2.2|     7|
+---+-----------+-----------+------+

我尝试以曾经将内置函数应用于整个列的方式执行它,但出现错误:

>>> df.withColumn('result', example(df.address1, df.address2))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in example
TypeError: 'Column' object is not callable

我做错了什么以及如何将自定义函数应用于选定列中的字符串?


你必须在spark中使用udf(用户定义函数)

from pyspark.sql.functions import udf
example_udf = udf(example, LongType())
df.withColumn('result', example_udf(df.address1, df.address2))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将自定义函数应用于 PySpark 中数据框的选定列的单元格 的相关文章

  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • AttributeError:模块“boto”没有属性“plugin”

    我正在 Google Cloud Platform 上使用带有 word2vec 模型的 Jupyter 笔记本运行虚拟机 我有以下代码片段 from gensim models import Word2Vec amazon word2ve
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • Keras 模型无法预测是否在线程中调用

    我尝试在线程应用程序中使用 keras 和可用模型 VGG16 执行预测 但是 如果我在主线程中调用预测 一切都会正常 但是如果我在线程函数内部进行预测 无论我使用threading multiprocessing 它只是在预测过程中停止
  • 如何在 Tensorflow Keras 中规范化我的图像数据

    如前所述 我正在尝试在训练模型之前标准化我的数据集 我正在使用tf keras preprocessing image ImageDataGenerator之前执行此操作 train data tf cast train data tf f
  • 使用 Flask 和 SQLAlchemy 在 Celery 任务中未更新数据库

    我正在使用 Flask 和 SQLAlchemy 编写 Web 应用程序 我的程序需要在后台处理一些内容 然后将这些内容标记为在数据库中已处理 使用标准 Flask Celery 示例 http flask pocoo org docs 0
  • Flask-login:无法理解它是如何工作的

    我试图理解如何Flask Login https flask login readthedocs org en latest works 我在他们的文档中看到他们使用预先填充的用户列表 我想使用数据库存储的用户列表 但是 我不明白其中的一些
  • Python str.format() 方法的默认 kwarg 值

    我希望尝试使现有字符串的复数化尽可能简单 并且想知道是否有可能得到str format 在查找 kwargs 时解释默认值 这是一个例子 string number of sheep sheep has run away dict comp
  • R 的 ggplot2 有 Python API 吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我的问题就像标题一样简单 我想使用R s ggplot2但我所有的数据处理都是在Python 有没有Py
  • 用于将 cython 中的许多 C++ 类包装到单个共享对象的项目结构

    我在文档 邮件列表和这个问题在这里 https stackoverflow com questions 10300660 cython and distutils 但我想得到一个更直接的答案来解决我的具体情况 我正在通过尝试一点一点地包装我
  • 无法“安装”plpython3u - postgresql

    我正在尝试在 postgresql 中使用 python 语言 像这样的事情 create or replace function test a integer returns integer as if a 2 0 return even

随机推荐

  • 在框架内打开 https 页面是否存在问题

    我以编程方式创建一个 html 报告 分为两个框架 如果用户随后单击右侧框架上的超链接 则该框架将被页面内容替换 这工作正常 但现在当我尝试链接到任何 Discogs 发布页面时 例如this one https www discogs c
  • 帮助解决密码复杂性正则表达式

    我使用以下正则表达式来验证密码复杂性 6 12 0 9 2 A Z 2 a z 2 简而言之 2个小写字母 2个大写字母 2个数字 最小长度为6 最大长度为12 当我使用最小长度时 除了最大长度之外 它工作得很好 例如 6 0 9 2 A
  • oracle sql 日期不晚于今天

    我需要显示一些数据 如果它是 新数据 更新数据 比方说 我将从发布日期列和更新列中获取这些数据 其中发布日期和更新日期都是时间戳 那么如果是新的日期如何计算呢 过去 24 小时 Where publish date gt sysdate 1
  • Python 中的 Yaml 合并

    所以我正在考虑用 Python 为 Pygame 制作一个小样板库 当然还有任何愿意使用它的人 我想要一个通过 yaml 文件提供应用程序设置的系统 因此 我认为如果库提供默认的 yaml 树并将其与用户提供的树合并 将会很有用 为了可用性
  • 如何同时运行 Windows Phone 7 模拟器的多个实例?

    我正在为 Windows Phone 7 创建多人游戏 如何运行模拟器的多个实例来调试它 您确实可以同时运行 Windows Phone 7 模拟器的多个实例 甚至可以同时调试它们 如我在我的文章中所示博客文章 http blog func
  • shell脚本中的cd命令是否加载目标目录中的rvmrc?

    当你有类似 在projectx内部给出一个 rvmrc文件 指定ruby 1 9 2并且我的系统上有两个ruby ree 1 8 7和ruby1 9 2 bin bash cd applications projectx which rub
  • flex-flow:列换行,在弹性框中导致父容器溢出

    我有这样的场景 https jsfiddle net b6zcdgf7 https jsfiddle net b6zcdgf7 container display flex height 3em border solid thin blue
  • H2数据库用户定义的java函数类未找到

    当我创建一个 ALIAS 来在 H2 数据库中注册 java 函数时 它给出了未找到类的错误 我正在 TCP 连接上运行 h2 数据库 sample public class TimeFrame public static void mai
  • 如何从 Java 将焦点集中到 shell 打开文件的默认程序?

    在 Java 中 我使用默认文件处理程序 MS Excel 在本例中 打开一个 Excel 文件 使用中描述的方法这个计算器问题 https stackoverflow com questions 2114318 opening an ex
  • 在 C# 中,如何捕获 Web 服务调用中使用的 SOAP?

    我有一个 C 应用程序 它是 Web 服务的客户端 我的要求之一是允许捕获我发送的 SOAP 这样如果出现问题 我可以修复错误 或者证明问题出在我正在调用的服务中 我的 WebReference 代理服务类派生自System Web Ser
  • NodeJS - MongoDB 触发器

    我正在尝试使用 DerbyJS Racer 和 MongoDB 开发日志查看器 日志将由不同的源连续插入到 MongoDB 数据库中 我的日志查看器应该能够自动更新用户界面上的日志表 我想知道是否有一种本地方式来监听 MongoDB 事件
  • libgdx 中的抗锯齿填充形状

    我一直在到处寻找一种方法来消除用绘制的填充形状的边缘锯齿ShapeRenderer ie ShapeType Filled 但找不到任何关于此的信息 线条效果很好Gdx gl glEnable GL10 GL LINE SMOOTH 但我尝
  • Python 的 pbkdf2_sha256.verify 的 NodeJS 实现

    我必须将此 Python 代码翻译为 NodeJS from passlib hash import pbkdf2 sha256 pbkdf2 sha256 verify 12345678 pbkdf2 sha256 2000 8R7jHO
  • Code::blocks 中的调试器命令行参数

    在 Code blocks 中调试程序时 如何指定要发送到正在调试的程序的命令行参数 我一生都找不到在哪里设置它 谷歌搜索会显示用于调试编译器本身的设置 而不是编译器中编写的程序 如果把它排除在外 那就太奇怪了 Thanks Tim 啊 正
  • VSCode Prettier 以奇怪的方式格式化 HTML(下一行大于符号)

    从今天起 安装了 Prettier Extension 的 VSCode 以一种非常奇怪的方式格式化我的 HTML 例如
  • LINQ to XML 提取嵌套元素

    我对 LINQ 和 XML 解析很陌生 对 C 编程也很陌生 对于以下 XML 结构 我尝试提取嵌套元素
  • 如何在 Windows 7 中使用 Cygwin 安装 git-subtree?

    我正在努力使用 Cygwin 安装 git subtree 并且网上没有任何专注于从 Windows 源代码构建的好的教程 您是否遇到过这个问题 解决这个问题的最佳策略是什么 git subtree不是包的一部分 然而 就像gitk你可以手
  • Oracle To_Char函数如果已经是字符串如何处理

    场景 我正在调用一个函数 该函数返回用户输入的字段 该字段通常返回一个类似 120000 的数字 然后我使用 to char 将其转换为 120 000 问题 某些用户输入 120 000 等值 这在尝试使用 to char 时出现错误 如
  • 使用 Kotlin 协程进行多线程

    我正在尝试Kotlin 协程 https kotlinlang org docs reference coroutines html并有以下代码 fun main args Array
  • 将自定义函数应用于 PySpark 中数据框的选定列的单元格

    假设我有一个如下所示的数据框 id address1 address2 1 address 1 1 address 1 2 2 address 2 1 address 2 2 我想将自定义函数直接应用于address1 and addres