Python中文
首页
教程
问答
标签
搜索
登录
注册
对数据帧中的一列求和,其中一列满足条件,但按另一列分组
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有这样一个数据帧:</p> <pre><code> Ref_No Definition Total_to_Add 0 ref1 B 20 1 ref2 A 30 2 ref1 B 40 3 ref2 A 50 4 ref1 B 60 5 ref2 B 50 6 ref1 B 60 7 ref2 B 50 8 ref1 B 60 </code></pre> <p>对于每个引用,如果它们是“B”且引用号相同,我想将Total\和\u相加(A将有另一列)。有100个参考号。你知道吗</p> <p>我可以把满足一个条件的加起来,比如:</p> <pre><code>df['ANSWER'] = df[df['Definition']=='A']['Total_to_Add'].sum() </code></pre> <p>或者我可以用这样的参照物来分组:</p> <pre><code>df['ANSWER']=(df.groupby('Ref_No')['Total_to_Add'].transform('sum')) </code></pre> <p>但我似乎无法组合这些函数,即创建一个新的列,如果定义为“B”和“total by Ref\u No”,则将其合计</p> <p>我的目标是输出如下:</p> <pre><code> Ref_No Definition Total_to_Add Total_'B' 0 ref1 B 20 240 1 ref2 A 30 100 2 ref1 B 40 240 3 ref2 A 50 100 4 ref1 B 60 240 5 ref2 B 50 100 6 ref1 B 60 240 7 ref2 B 50 100 8 ref1 B 60 240 </code></pre> <p>感谢你的智慧!谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果“Definition”==“B”,这将在“Total\u B”列中生成“Total\u to\u Add”的和。<code>df['Total_B']=df[df['Definition']=='B'].groupby(by=['Ref_No','Definition'])['Total_to_Add'].transform('sum')</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
4 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
2 回答
在Python3中使用Script=argv
10 回答
在python3中使用selenium webdriver进行未解析的回溯
1 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
1 回答
在Python3中使用Selenium和Requests模块从网页获取文件
1 回答
在python3中使用SIGINT终止函数
8 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
4 回答
在python3中使用smtplib发送XML内容
6 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
7 回答
在python3中使用sounddevice和numpy编写wav文件
5 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
10 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
9 回答
在python3中使用SQLite的FTS3/4
2 回答
在Python3中使用struct.calcsize()和len()有区别吗?
10 回答
在python3中使用substring函数时发生TypeError
2 回答
在Python3中使用Tkinter entry小部件写入串行设备
4 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
10 回答
在python3中使用tkinter的子帧
6 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
1 回答