考虑以下示例:

import pandas as pd

import numpy as np

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',

'foo', 'bar', 'foo', 'foo'],

'B' : [12,10,-2,-4,-2,5,8,7],

'C' : [-5,5,-20,0,1,5,4,-4]})

df

Out[12]:

A B C

0 foo 12 -5

1 bar 10 5

2 foo -2 -20

3 bar -4 0

4 foo -2 1

5 bar 5 5

6 foo 8 4

7 foo 7 -4

这里我需要为A中的每个组计算B中以C为条件的元素之和为非负(即,> = 0,基于另一列的条件).反之亦然C.

但是,我的代码失败了.

df.groupby('A').agg({'B': lambda x: x[x.C>0].sum(),

'C': lambda x: x[x.B>0].sum()})

AttributeError: 'Series' object has no attribute 'B'

所以似乎应用是首选(因为apply会看到我认为的所有数据帧),但不幸的是我不能使用带有apply的字典.所以我被困住了.有任何想法吗?

一个不那么漂亮的不那么有效的解决方案是在运行groupby之前创建这些条件变量,但我确信这个解决方案不会使用Pandas的潜力.

因此,例如,组栏和列B的预期输出将是

+10 (indeed C equals 5 and is >=0)

-4 (indeed C equals 0 and is >=0)

+5 = 11

另一个例子:

group foo和B列

NaN (indeed C equals -5 so I dont want to consider the 12 value in B)

+ NaN (indeed C= -20)

-2 (indeed C=1 so its positive)

+ 8

+NaN = 6

注意我使用NaN而不是零,因为如果我们要放零,则除了sum之外的其他函数会给出错误的结果(中位数).

换句话说,这是一个简单的条件求和,其中条件基于另一列.

谢谢!

pandas python groupby_python – 如何在Pandas groupby之后获得多个条件操作?相关推荐

  1. pandas python groupby_python – 如何使用pandas groupby汇总多个列?

    我有一个看起来像的数据框 day type col d_1 d_2 d_3 d_4 d_5... 1 A 1 1 0 1 0 1 A 2 1 0 1 0 2 B 1 1 1 0 0 也就是说,我有一个 ...

  2. pandas python groupby_Python Pandas与Groupby的条件和

    第一组按key1列:In [11]: g = df.groupby('key1') 然后,对于每个组,取key2等于"1"的子dataframe并对data1列求和:In [12] ...

  3. pandas python groupby_python – pandas groupby方法实际上是如何工作的?

    当你使用时 df.groupby('A') 你得到一个groupby object.你还没有应用任何功能.在引擎盖下,虽然这个定义可能不完美,但您可以将groupby对象视为: >(group, ...

  4. python pandas excel 慢,如何在pandas中使用read_excel提高进程速度?

    无需猜测即可阅读所有工作表 对pd.read_excel使用sheetname = None参数.这将把所有工作表读入数据帧的字典中.例如: dfs = pd.read_excel('file.xls ...

  5. Python数据分析小技巧:如何在Pandas中实现数据透视表?

    Python数据分析小技巧:如何在Pandas中实现数据透视表? 数据透视表是数据分析中非常有用的工具,可以帮助我们快速了解数据的结构.关联和趋势.在Pandas中,我们可以使用pivot_table ...

  6. Python 数据分析三剑客之 Pandas(六):GroupBy 数据分裂、应用与合并

    CSDN 课程推荐:<迈向数据科学家:带你玩转Python数据分析>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python ...

  7. python的loc函数_如何在pandas中使用loc、iloc函数进行数据索引(入门篇)

    在数据分析过程中,很多时候我们需要从数据表中提取出我们需要的部分,而这么做的前提是我们需要先索引出这一部分数据.今天我们就来探索一下,如何在pandas中使用loc函数和iloc函数索引数据. 今天我 ...

  8. Python数据分析入门之pandas基础总结

    Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...

  9. Python科学计算之Pandas基础学习

    Python科学计算之Pandas基础学习 导入Pandas 我们首先要导入我们的演出明星--Pandas. 这是导入Pandas的标准方式.显然,我们不希望每时每刻都在程序中写'pandas',但是 ...

最新文章

  1. mybatis报错There is no getter for property named '***' in 'class ***'
  2. 30~60万|项目需求——胳膊与手指的动态识别技术
  3. python机械臂仿真_VTK与Python实现机械臂三维模型可视化详解
  4. JavaScript基础 -- js常用内置方法和对象
  5. (8)Linux内核中的hash与bucket
  6. Broadcasting in Python
  7. centos7 keeplive+lvs
  8. IBM SPSS Statistics定义变量使用介绍
  9. 自制游戏手柄joystick stm32 hal usb协议
  10. 直角三角形用计算机怎么做,‎App Store 上的“直角三角形计算器”
  11. 1319 移棋子游戏(sg函数模板)
  12. 华为路由器BGP简单配置
  13. Office之word如何删除页眉横线
  14. 两台计算机共享鼠标,总算发现什么是双模键盘(两台电脑共用一套鼠标键盘)
  15. 谷歌图片的爬虫库(附加必应图片爬虫)--针对近期谷歌变了
  16. 嵌入式开发基本环境搭建---ubuntu
  17. linux parted 方式挂盘,支持大于4T盘扩容
  18. 2018,程序员生活的两个兴趣爱好
  19. SpringBoot XStream整合
  20. 基于【GIS地理信息+实景三维】在一体化地质灾害监测预警平台中的核心应用

热门文章

  1. 新装电脑系统,会自动安装乱七八糟的软件问题处理法
  2. 4411 三仙归洞(找规律-周期)
  3. 数据结构—图(Part Ⅱ)—最小生成树 最短路径
  4. C++小游戏——俄罗斯方块
  5. 网络上的优美感人句子
  6. 主流浏览器上HTML5多媒体播放器的实现以及加速方式
  7. 程序验证(五):一阶理论的过程
  8. linux的最新内核版本是多少,求问Linux最新内核版本以及发布日期。
  9. 文献阅读笔记 # Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
  10. 《真心话大冒险》微电影启动 张宁江献青涩初吻_0