python pandas:将带有参数的函数应用于一系列

2024-04-04

我想将带有参数的函数应用于 python pandas 中的一系列:

x = my_series.apply(my_function, more_arguments_1)
y = my_series.apply(my_function, more_arguments_2)
...

The 文档 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.apply.html描述了对 apply 方法的支持,但它不接受任何参数。是否有其他接受参数的方法?或者,我是否缺少一个简单的解决方法?

更新(2017 年 10 月):请注意,由于这个问题最初是被问到的,所以 pandasapply()已更新为处理位置和关键字参数,上面的文档链接现在反映了这一点,并展示了如何包含任一类型的参数。


新版本的 pandasdo允许您传递额外的参数(请参阅新文档 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.apply.html#pandas.Series.apply)。所以现在你可以这样做:

my_series.apply(your_function, args=(2,3,4), extra_kw=1)

添加位置参数after该系列的元素。


对于旧版本的 pandas:

文档清楚地解释了这一点。 apply 方法接受一个 python 函数,该函数应该有一个参数。如果你想传递更多参数,你应该使用functools.partial正如乔尔·科内特(Joel Cornett)在评论中所建议的那样。

一个例子:

>>> import functools
>>> import operator
>>> add_3 = functools.partial(operator.add,3)
>>> add_3(2)
5
>>> add_3(7)
10

您还可以使用传递关键字参数partial.

另一种方法是创建 lambda:

my_series.apply((lambda x: your_func(a,b,c,d,...,x)))

但我认为使用partial更好。

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

python pandas:将带有参数的函数应用于一系列 的相关文章

随机推荐

  • 有没有用于集成复杂功能的 Haskell 库?

    如何在 Haskell 中对复杂的复值函数进行数值积分 有现成的库吗 数字工具 http hackage haskell org package numeric tools仅在卷轴上运行 我知道在复平面上只有线积分 所以我感兴趣的界面是这样
  • 无法压缩分区数量不等的 RDD

    现在我有3个这样的RDD rdd1 1 2 3 4 5 6 7 8 9 10 rdd2 11 12 13 14 rdd3 15 16 17 18 19 20 我想这样做 rdd1 zip rdd2 union rdd3 我想要的结果是这样的
  • NodeJS 模块与类

    对我来说 类与 NodeJS CommonJS 模块非常相似 您可以拥有许多它们 它们可以重复使用 它们可以互相使用 并且通常每个文件一个 是什么让模块与类如此不同 使用它们的方式不同 命名空间的差异也很明显 除此之外 它们对我来说似乎非常
  • PyQt_Fit:无法导入名称路径

    我正在尝试使用 PyQt Fit 我从 pip install pyqt fit 安装了它 但是当我导入它时它不起作用并显示以下消息 ImportError Traceback most recent call last
  • 使用 Bouncy Castle 在 Java 中复制“openssl smime”?

    我手上有个问题 我不懂 Java 的同事正在使用 OpenSSL 命令对文件进行签名 如下所示 openssl smime binary sign certfile WWDR pem signer passcertificate pem i
  • .fit() 层的 shuffle = 'batch' 参数如何在后台工作?

    当我使用以下方法训练模型时 fit 层的参数 shuffle 预设为 True 假设我的数据集有 100 个样本 批量大小为 10 当我设置shuffle True然后 keras 首先随机选择样本 现在 100 个样本具有不同的顺序 根据
  • 在 Android 应用程序中查看 MS Office 文件

    我正在尝试查看应用程序中的文件 例如音频 视频 PDF 等 我已经成功地做到了这一点 现在我正在尝试查看 Microsoft Office 文件 例如 doc docx xls 和 ppt 在android中有什么办法可以做到这一点 比如调
  • ViewModelProviders 无法在我的片段中工作

    这就是我正在尝试做的事情 Set an ArrayListFragment 内的对象 从观察者处获取该数组FragmentActivity容器 承载所有片段的活动 所以 我所做的如下 首先我创建了SharedViewModel我将从哪里设置
  • GTK+ CSS 一键式

    如何在 GTK 中为一个按钮设置颜色 GtkButton button8 border radius 20 border width 1 1 1 1 font Sans 16 color black background image gtk
  • 使用从 csv 文件读取的矩阵中的 corrplot 函数时,“dimnames”[2] 的长度不等于数组范围

    我想从 csv 文件读取数据 将其保存为矩阵并将其用于可视化 data lt read table Desktop Decision Tree cor test csv header F sep data V1 V2 V3 V4 V5 V6
  • 如何使用RDD API反转reduceByKey的结果?

    我有一个 key value 的 RDD 我将其转换为 key List value1 value2 value3 的 RDD 如下所示 val rddInit sc parallelize List 1 2 1 3 2 5 2 7 3 1
  • 在Gtk中,是否可以使小部件淡入淡出?

    我想要一个Label 或者至少是标签上的文字 进行快速淡入 看起来这是可能在混乱中 http blog didrocks fr index php post Design experience and demos in GTK Clutte
  • 找不到 Magick-config [重复]

    这个问题在这里已经有答案了 可能的重复 ImageMagick RMagick 无法安装 RMagick 2 13 1 找不到 Magick 配置 https stackoverflow com questions 3894225 imag
  • 为什么在循环之外生成随机数会导致它始终相同?

    当我在 while 循环内创建一个随机数作为局部变量时 一切正常 但是当我生成一个随机数作为全局变量时 我就会陷入无限循环 我不明白这会如何以及为什么会产生任何影响 目标是通过 While 循环输出所有小于 0 7 的随机数 这是创建无限循
  • OnResume 相机重新初始化黑屏

    我有个问题 初始化相机进行预览并使另一个应用程序进入焦点后 然后返回我的应用程序 预览显示为黑色 如果我继续拍照 它会拍摄我通常将相机指向的位置的照片 我在 OnResume 覆盖上做错了什么吗 相关代码如下 public void Rel
  • Safari 忽略 tabindex

    我在一个文本框旁边有 2 个按钮 在这两个按钮后面有另一个文本框 第一个文本框的 tabindex 为 1000 第一个按钮为 1001 第二个按钮为 1002 第二个文本框的 tabindex 为 1003 当我按 Tab 时 tabin
  • 在 Mac 终端的 vim 语法突出显示中启用斜体

    我想让 vim 以斜体显示我的评论 并且我知道我需要放置 cterm italic in the hi Comment 我正在使用的 color vim 文件中的行 然而 这对文本显示没有影响 我怀疑这与某些 Terminal app 设置
  • 如何在java中加载和使用本机库?

    我有一个 java 类 调用本机方法并尝试加载库 import java io UnsupportedEncodingException public class Main public static native String getMy
  • C hsearch 查找之前未输入的值

    这是一个后续问题这个问题 https stackoverflow com q 34749026 2451238 Since I solved https stackoverflow com a 34749797 2451238我感觉剩下的问
  • python pandas:将带有参数的函数应用于一系列

    我想将带有参数的函数应用于 python pandas 中的一系列 x my series apply my function more arguments 1 y my series apply my function more argu