![]() |
1
236
目前接受的答案的后半部分已经过时,并有两种反对意见。首先也是最重要的是,你不能再把字典传给
如果您希望同时使用两个独立的列,我建议您使用
如果不喜欢这个难看的lambda列名,可以使用普通函数并为
|
![]() |
2
164
在第一部分中,可以传递键的列名dict和值的函数列表:
更新1: 由于聚合函数在序列上工作,因此对其他列名的引用将丢失。要解决这个问题,可以引用完整的数据帧,并使用lambda函数中的组索引对其进行索引。 这里有一个简单的解决方法:
这里,结果“D”列由“E”值的总和组成。 更新2:
这里有一种方法,我想它可以满足你的所有要求。首先创建一个自定义lambda函数。下面,g引用组。聚合时,g将是一个系列。经过
|
![]() |
3
17
我觉得它更让人想起
我以与Ted相同的方式生成数据,我将添加一个种子以实现再现性。
|
![]() |
4
16
|
![]() |
5
4
为了支持对输出列名进行控制的列特定聚合,pandas接受 ,称为 命名聚合 ,其中
其他关键字参数不会传递给聚合函数。只应将成对(column,aggfunc)作为**kwargs传递。如果聚合函数需要其他参数,请使用functools.partial()部分应用它们。 命名聚合也适用于序列groupby聚合。在这种情况下没有列选择,因此值只是函数。
|
![]() |
6
1
创建数据帧
使用apply进行分组和聚合(使用多个列)
使用聚合进行分组和聚合(使用多个列)
现在看来很明显,但只要你不选择感兴趣的列 ,您将可以从聚合函数中访问数据帧的所有列。 仅访问选定列
访问所有列,因为选择毕竟是魔术
或类似
我希望这能有帮助。 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
![]() |
rpn · 如何在列[1]中连续第二次出现“0”时返回列[0]的值 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |
|
Domarius · 使用loc为多行设置多列值 1 年前 |
![]() |
msts1906 · 大熊猫向乳胶的适当多品种出口 1 年前 |