Pandas GroupBy:应用带有两个参数的函数

2024-07-04

通常当使用.apply()方法,传递一个只接受一个参数的函数。

def somefunction(group):
    group['ColumnC'] == group['ColumnC']**2
    return group

df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)

Here somefunction应用于每个group,然后返回。基本上我用的是这个例子在这里 https://stackoverflow.com/a/22678651/4791226.

我想有能力未指定列名称ColumnC预先。将其作为参数传递somefunction将使代码更加灵活。

def somefunction(group, column_name):
    group[column_name] == group[column_name]**2
    return group

df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)

有什么办法可以让这个工作吗?我无法通过group to somefunction,因为这是神奇地完成的.apply()在后台。


您可以通过传递关键字参数apply

df.groupby(['ColumnA', 'ColumnB']).apply(somefunction, column_name='col')

MCVE https://stackoverflow.com/help/mcve

df = pd.DataFrame(dict(A=list(range(2)) * 5, B=range(10)[::-1]))

def f(df, arg1):
    return df * arg1

df.groupby('A').apply(f, arg1=3)

   A   B
0  0  27
1  3  24
2  0  21
3  3  18
4  0  15
5  3  12
6  0   9
7  3   6
8  0   3
9  3   0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas GroupBy:应用带有两个参数的函数 的相关文章

  • 导入文本文件:没有要从文件中解析的列

    我正在尝试从 sys stdin 获取输入 这是hadoop 的map reducer 程序 输入文件为txt格式 数据集预览 196 242 3 881250949 186 302 3 891717742 22 377 1 8788871
  • 使用 Matplotlib 创建箱线图

    我正在使用 python 3 和 jupyter 笔记本 我有一个 pandas 数据框 其结构如下 location price Apr 25 ASHEVILLE 15 0 Apr 25 ASHEVILLE 45 0 Apr 25 ASH
  • networkx - 根据列表或字典值更改节点大小

    我正在尝试在networkx中制作一个图表 我在为节点分配不同的节点大小时遇到 问题 这是我一直在玩的代码 import sys from collections import defaultdict import networkx as
  • python 中的神经网络:决策/分类总是给出 0.5

    首先我想说我是一个Python初学者 对神经网络也是完全陌生的 当我读到它时 我非常兴奋 并认为我从头开始设置了一些代码 参见下面的代码 但不知怎的 我的代码无法正常工作 我猜想存在一些重大错误 在算法和编程中 但我现在找不到他们 所以 在
  • ipython:如何设置终端宽度

    当我使用ipython terminal并想要打印一个numpy ndarray它有很多列 行会在大约 80 个字符处自动断行 即行的宽度为 cca 80 个字符 z zeros 2 20 print z 据推测 ipython 预计我的终
  • 上传大文件nginx + uwsgi

    堆栈 flask 0 10 uwsgi 1 4 5 nginx 1 2 3 我可以通过我的应用程序上传小文件 CONTENT LENGTH 无效 太大 跳过 nginx 日志没有显示任何有用的内容 我尝试了以下操作 但没有成功 nginx配
  • 包装 np.arrays __pow__ 方法

    我只是重新审视我的一些代码以提高性能 并遇到了一些奇怪的事情 a np linspace 10 1000 1000000 reshape 1000 1000 timeit np square a 100 loops best of 3 8
  • 数据集继续使用线性回归而不是决策树模型

    我想在我的数据集上使用决策树模型 但无论我做什么 它都会继续使用线性回归 数据不同 但图表仍然相同 基本上 我编写了线性回归的代码 from sklearn linear model import LinearRegression linr
  • 使用 Python 3 在 Mac 上没有名为“_tkinter”的模块

    我正在尝试使用 Tkinter 作为 GUI 将我的脚本捆绑到 app 中 而执行捆绑的包装器是 Platypus 当我去运行该应用程序时 我收到此错误 Traceback most recent call last File Users
  • ValueError:在 ECB 模式下数据必须与块边界对齐

    我正在使用以下代码在 ECB 模式下尝试 aes 128 加密 from Crypto Cipher import AES key abcdefghijklmnop cipher AES new key encode utf8 AES MO
  • 剥离功能未按预期工作

    def sstrip a b raw input enter the string to be stripped off i a strip b print i k raw input enter the string sstrip k o
  • 在 cmd.Cmd 命令行解释器中更好地处理键盘中断

    在使用 python 的 cmd Command 创建自定义 CLI 时 如何告诉处理程序中止当前行并给我一个新的提示 这是一个最小的例子 console min py run python console min py import cm
  • 如何让机器人加入语音频道discord.py

    我正在使用 Discord py 创建音乐机器人 但我在将该机器人连接到语音通道时遇到问题 我使用 Cog 将音乐功能与其他功能分开 commands command async def join voice self ctx channe
  • 无法让 python 请求与代理一起使用

    我正在尝试通过代理服务器执行简单的获取请求 import requests test requests get http google com proxies http 112 5 254 30 80 print test text 代码中
  • 来自 Abaqus/CAE 的 Python 多处理

    I am using a commercial application called Abaqus CAE1 with a built in Python 2 6 interpreter and API I ve developed a l
  • 过滤(减少)NumPy 数组

    假设我有一个 NumPy 数组arr我想根据 可广播 函数的真值进行逐元素过滤 减少 例如 我只想获取低于某个阈值的值k def cond x return x lt k 有几种方法 例如 使用发电机 np fromiter x for x
  • 无法在 Debian lenny 上安装 python 模块“pycrypto”

    我尝试通过下载源代码并执行以下命令来安装 pycrypto 模块python setup py install 然后出现错误 running install running build running build py running bu
  • 分组依据,在 pandas 中

    select df id count distinct airports as num from df group by df id having count distinct airports gt 3 我正在尝试在 Python pan
  • Python 与 Hive 的连接

    我安装了 Hortonworks Hive ODBC 驱动程序并在数据源中创建了连接 我测试了它并且成功了 我安装了PyODBC并编写了以下代码 import os sys pyodbc con pyodbc connect DSN MyC
  • python easy_install:指定存放所需文件的目录

    我正在尝试使用 easy install 来安装 MySQL python 它几乎立即失败 mysql c 36 23 错误 my config h 没有这样的文件或目录 mysql c 38 19 错误 mysql h 没有这样的文件或目

随机推荐