金融量化分析【day111】:Pandas-分组与聚合
一、分组与聚合
在数据分析中,我们有时需要将数据拆分,在每一个特定的组里进行运算
1、实验数据准备
a = pd.read_csv('601318.csv')
a
数据如下:
实验数据
2、示例
df.groupby('key1').mean()

3、分组与聚合的步骤
分组:拆分数据为若干组
聚合:组内应用某个函数
二、分组
1、按一列分组
df.groupby('key1').mean()

2、按多列分组
df.groupby(['key1','key2']).mean()

3、自定义分组
df.groupby(len).mean()

df.groupby(lambda x:len(x)).mean()

4、获取分组信息

df.groupby(lambda x:'zheng' if df.loc[x,'data2']>0 else 'fu').mean()

df.groupby('key1').get_group('b')

三、聚合
分组之后需要聚合函数来应用到每一组中
内置聚合函数

1、自定义聚合函数
df.groupby('key1').agg(lambda x:x.max())

2、多个聚合函数

3、不同列应用不同聚合函数
df.groupby('key1').agg({'data1':'min','data2':'max'})

四、数据合并
1、数据拼接
df2 = df.copy()
df3 = df.copy()
pd.concat([df,df2,df3])

pd.concat([df,df2,df3],keys=list('abc'))

pd.concat([df,df2,df3],ignore_index=True)

pd.concat([df,df2,df3],axis=1)

pd.concat([df,df2,df3],axis=1,ignore_index=True)

2、数据连接
pd.merge(df,df2)

pd.merge(df,df2,on='key1')

pd.merge(df,df2)

pd.merge(df,df2,on=['key1','key2'])

3、合并小结

金融量化分析【day111】:Pandas-分组与聚合的更多相关文章
- day31 堡垒机尾声 + Python与金融量化分析(一)
堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...
- pandas分组和聚合
Pandas分组与聚合 分组 (groupby) 对数据集进行分组,然后对每组进行统计分析 SQL能够对数据进行过滤,分组聚合 pandas能利用groupby进行更加复杂的分组运算 分组运算过程:s ...
- 金融量化分析【day110】:金融基础知识
一.股票 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社会增发股票以募集 ...
- day32 Python与金融量化分析(二)
第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...
- 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据
财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...
- Python与金融量化分析----金融与量化投资
一:金融了解 金融:就是对现有资源进行重新的整合之后,进行价值和利润的等效流通. 金融工具: 股票 期货 黄金 外汇 基金 ............. 股票: 股票是股份公司发给出资人多的一种凭证,股 ...
- 金融量化分析【day111】:Matplotib-绘制K线图
一.绘制k线图 1.使用金融包出错解决 1.错误代码 ImportError: No module named finance 2.解决办法 https://github.com/matplotlib ...
- 金融量化分析【day110】:Pandas的Series对象
一.pandas简介安装 pandas是一个强大的python数据分析的工具包 pandsa是基于NumPy构建的 1.pandas的主要功能 1.具备对其功能的数据结构DataFrame.Serie ...
- 金融量化分析【day111】:Matplotib简介
一.Matplotib-绘图和可视化简介 Matplotib是一个强大的Python绘图和数据可视化的工具包 1.安装方法 pip install matplotlib 2.引用方法 import m ...
随机推荐
- BCP SQL导出EXCEL常见问题及解决方法;数据导出存储过程
一.‘xp_cmdshell’的启用 SQL Server阻止了对组件‘xp_cmdshell’的过程‘sys.xp_cmdshell’的访问.因为此组件已作为此服务嚣安全配置的一部分而被关 闭.系统 ...
- 面相服务的架构SOA
SOA体系结构是基于服务组件模型,将应用程序的不同功能单元通过定义良好的接口契约联系起来,接口是采用中立方式进行定义的,独立于实现服务的硬件平台,操作系统和编程语言.使得构建在这样的系统中的服务可以以 ...
- codeforces#410C Mike and gcd problem
题目:Mike and gcd problem 题意:给一个序列a1到an ,如果gcd(a1,a2,...an)≠1,给一种操作,可以使ai和ai+1分别变为(ai+ai+1)和(ai-ai+1); ...
- Python面试笔记四
数据库 1.将name字段添加索引 create index index_emp_name on student(name); 2.查询女生中数学成绩最高的分数 select max(score) f ...
- bootstrap,bootstrap-table,bootstrapValidator,animate,layer配合起来搞事情
资源准备(just download) bootstrap: http://www.bootcss.com/ bootstrap-table: http://bootstrap-table.wenzh ...
- LNMP构建动态网站WordPress
LNMP构建动态网站wordpress 一.部署LNMP架构 1.安装nginx #配置nginx源 cat>/etc/yum.repos.d/nginx.repo<<-EOF [N ...
- Failed to start /etc/rc.d/rc.local Compatibility
查看/var/log/message Jun :: root systemd: Started Network Manager. Jun :: root systemd: Starting LSB: ...
- top后台执行显示:top: failed tty get 错误
通过其他程序或脚本在非交互式模式下调用top命令,经常会出现: top: failed tty get 错误 解决办法:加个-b 选项皆可 -b : Batch mode operation ...
- 浏览器各个版本和系统(chrome/safari/edge/qq/360)
浏览器对象: let userAgent = navigator.userAgent.toLowerCase()console.log(userAgent) Edge: mozilla/5.0 (wi ...
- Spring service本类中方法调用另一个方法事务不生效问题(转载)
前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的.因此专门写此篇帖子分析why. 1.预备知识 aop概 ...