Python中文
首页
教程
问答
标签
搜索
登录
注册
Pandas groupby聚合到新列
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个数据帧,看起来像这样:</p> <pre><code>A B C D 1 10 22 14 1 12 20 37 1 11 8 18 1 10 10 6 2 11 13 4 2 12 10 12 3 14 0 5 </code></pre> <p>一个看起来像这样的函数(<strong>注意:它实际上在做一些更复杂的事情,不容易分成三个独立的调用,但为了清晰起见,我简化了它</strong>):</p> ^{pr2}$ <p>我想在<code>A</code>和{<cd3>}一起使用<code>groupby</code>来获得列<code>B</code>和{<cd5>}(忽略{<cd6>})的输出,如下所示:</p> <pre><code> B C min mean max min mean max A 1 10 10.75 12 8 15.0 22 2 11 11.50 12 10 11.5 13 3 14 14.00 14 0 0.0 0 </code></pre> <p>我可以做以下事情:</p> <pre><code>df2.groupby('A')[['B','C']].agg( { 'min': lambda g: myfunc(g)[0], 'mean': lambda g: myfunc(g)[1], 'max': lambda g: myfunc(g)[2] }) </code></pre> <p>但除了这件事很难看,而且多次打电话给<code>myfunc</code>之外,我最后</p> <pre><code> max mean min B C B C B C A 1 12 22 10.75 15.0 10 8 2 12 13 11.50 11.5 11 10 3 14 0 14.00 0.0 14 0 </code></pre> <p>我可以使用<code>.swaplevel(axis=1)</code>来交换列级别,但是即使这样,<code>B</code>和{<cd5>}也在多个重复的列中,对于多个函数调用,感觉就像是在错误的树上吠叫。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>像这样的事情也许会奏效。在</p> <pre><code>df2.groupby('A')[['B','C']] aggregated = df2.agg(['min', 'mean', 'max']) </code></pre> <p>然后可以使用swap level来交换列顺序</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
(编辑)背景2+均值漂移跟踪?
9 回答
(网络爬虫)如何从新闻网站获取新闻段落的文本
6 回答
(置换)列表的唯一组合
2 回答
(美丽的soap4,)AttributeError:“非类型”对象没有属性“获取文本”
5 回答
(聊天室)使用套接字通常只允许一个地址(协议/网络地址/端口)
6 回答
(自动)在Pycharm/Python中的=后缩进
1 回答
(自动Py到Exe和Python)找不到“googleapipythonclient”发行版,该发行版是应用程序所必需的
3 回答
(自动操作)write()和do for循环的Odoo问题
7 回答
(自定义)百分位MSE损失函数
1 回答
(自定义用户)createsuperuser TypeError:hasattr():属性名必须是字符串
10 回答
(节点)警告:检测到可能的EventEmitter内存泄漏。添加了11个消息侦听器。使用emitter.setMaxListeners()增加limi
8 回答
(若变量中有字符串)语句未筛选出数据
1 回答
(英语、Perl、Python、Ruby)在代码片段的基础上进行比较?
8 回答
(范围(1,36),7)和+条件下的所有组合
6 回答
(范围(3),范围(3))值错误:要解压缩的值太多(预期为2)
10 回答
(蟒蛇) 平均分配数字
5 回答
(行、列):数据帧的值
3 回答
(行、列)形式的最小值
6 回答
(解决)导入PYBID11/C++编译模块不工作
2 回答
(记忆有效)将“排序”作为生成器实现
5 回答