首页 > 解决方案 > Python中的错误合并语法?f() 接受 1 个位置参数,但给出了 2 个

问题描述

我正在尝试以下操作:

df2.groupby(['A']).max('Delta')

并得到这个错误:

f() takes 1 positional argument but 2 were given

添加的上下文:该片段来自以下更完整的代码,在我的 ipynb (Python 3) 中运行良好,但在嵌入式脚本中也使用 Python v3。

df3 = df2.merge(df2.groupby(['A']).max('Delta').reset_index()[['A','Delta']],how='left',on='A',suffixes=("","_max")).merge(df2.groupby(['A']).min('Delta').reset_index()[['A','Delta']],how='left',on='A',suffixes=("","_min"))

我也试过:

df2.groupby(['A']).max(['Delta'])

标签: python-3.xpandas-groupby

解决方案


max接受命名参数。

通过提供例如'Delta',您正在给它第二个位置参数。

第一个位置参数是DataFrameGroupBy返回的实例groupby


推荐阅读