Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
本文介绍了Pandas中的GROUP BY AND SUM不丢失列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个数据帧,如下所示:
--------------------------------------------------------------------
|TradeGroup | Fund Name | Contribution | From | To |
| A | Fund_1 | 0.20 | 2013-01-01 | 2013-01-02 |
| B | Fund_1 | 0.10 | 2013-01-01 | 2013-01-02 |
| A | Fund_1 | 0.05 | 2013-01-03 | 2013-01-04 |
| B | Fund_1 | 0.45 | 2013-01-03 | 2013-01-04 |
--------------------------------------------------------------------
基本上,这是一个行业团体每天向基金捐款。我想要做的是总结一个交易团每天的所有贡献,以供进一步分析。 我想看到的是:
--------------------------------------------------------------------
|TradeGroup | Fund Name | Contribution | From | To |
| A | Fund_1 | 0.25 | 2013-01-01 | 2013-01-04 |
| B | Fund_1 | 0.55 | 2013-01-01 | 2013-01-04 |
--------------------------------------------------------------------
我无法使用Dataframe解决此问题。我已经试过
df.groupby('TradeGroup')['Contribution'].sum()
但是,这不起作用。与此等效的SQL将为
Select SUM(Ctp) from Table Group By TradeGroup.
任何帮助都将不胜感激。谢谢
sql
您需要确保贡献列是数字,而不是字符串,才能获得正确的匹配数字,就像在推荐答案中一样。我认为你收到的奇怪的"不"是因为你"投稿"栏目的字符串性质。则应执行以下操作:
import pandas as pd
import numpy as np
a=pd.DataFrame([['A','Fund_1','0.20','2013-01-01','2013-01-02'],
['B','Fund_1','0.10','2013-01-01','2013-01-02'],['A','Fund_1','0.05','2013-
01-03','2013-01-04'],['B','Fund_1','0.45','2013-01-03','2013-01-04']],
columns=['TraderGroup', 'Fund Name','Contribution','From', 'To'])
print a
a['Contribution'] = pd.to_numeric(a['Contribution'], errors='coerce')
b=a.groupby(['TraderGroup','Fund Name']).agg({'Contribution':np.sum,
'From':'min','To':'max'}).reset_index()
print b
这篇关于Pandas中的GROUP BY AND SUM不丢失列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:Pandas中的GROUP BY AND SUM不丢失列
基础教程推荐
猜你喜欢
- 尝试制作WhatsApp机器人 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
