入手pandas分析统计
来源:互联网 发布:php api接口参数加密 编辑:程序博客网 时间:2024/05/20 18:43
简单的数据统计和分析
前面我们已经完成了基金数据插入到数据表:
http://blog.csdn.net/github_26672553/article/details/78646417
简单的数据统计和分析,我们可以用SQL直接搞定了。
1、查询出NAV
前2的数据
# coding: utf-8from sqlalchemy import create_engine,descfrom common.config import dbUrlfrom sqlalchemy.orm import sessionmakerfrom mappers.FundMapper import FundMapper #基金数据表ORM类if __name__ == "__main__" : engine = create_engine(dbUrl, echo=True) # 创建数据库引擎 session = sessionmaker(engine)() # 数据库会话对象 result = session.query(FundMapper).order_by(desc(FundMapper.NAV)).limit(2).all() print(result) # [<mappers.FundMapper.FundMapper object at 0x1053e3d30>, <mappers.FundMapper.FundMapper object at 0x1053e3da0>]
2、查询NAV
最高的
# coding: utf-8from sqlalchemy import create_engine,desc,funcfrom common.config import dbUrlfrom sqlalchemy.orm import sessionmakerfrom mappers.FundMapper import FundMapper #基金数据表ORM类if __name__ == "__main__" : engine = create_engine(dbUrl, echo=True) # 创建数据库引擎 session = sessionmaker(engine)() # 数据库会话对象 result = session.query(func.max(FundMapper.NAV)).scalar() # 获取具体的值 print(result) # 9.9999
生成csv文件
读取数据表中的数据,最后生成csv文件
# coding: utf-8from sqlalchemy import create_engine,desc,funcfrom common.config import dbUrlfrom sqlalchemy.orm import sessionmakerfrom mappers.FundMapper import FundMapper #基金数据表ORM类import csvif __name__ == "__main__" : engine = create_engine(dbUrl, echo=True) # 创建数据库引擎 session = sessionmaker(engine)() # 数据库会话对象 result = session.query(FundMapper).limit(10).all() # 值取10行记录 with open("./csv/fund.csv","w",encoding="utf-8",newline="") as f: writer = csv.writer(f) writer.writerow(["code","name","NAV","ACCNAV","fdate","DGR","DGV"]) # 先写表头 for r in result: writer.writerow([r.code, r.name, r.NAV, r.ACCNAV, r.fdate, r.DGR, r.DGV]) f.close()
知名分析库:pandas
安装:
#当然还是先要cd到虚拟环境目录./python3 -m pip install pandas -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
2、简单使用pandas
pd = pandas.read_csv("./csv/fund.csv", dtype={"code":pandas.np.str_}) print(pd[0:5]) # 取出第0~5行(不包括第5行) print(pd[["code","name"]]) # 取出多列 print(pd["code"]) # 取一列
res = pd.sort_values(by="NAV",ascending=False) # 根据NAV值 倒序 print(res.head(5)) # 取出前5条 print(res.tail(5)) # 取出后5条 # 把取出的结果 保存的一个新的csv文件 res[3:7].to_csv("./csv/res.csv",encoding="utf-8")
阅读全文
0 0
- 入手pandas分析统计
- pandas做数据分析(五):统计相关函数
- 数据分析之Pandas(三):汇总、统计、相关系数和协方差
- 每人计:从门店入手,将客流统计和分析数据搬到线下
- 软件需求分析入手
- 如何入手数据分析
- Pandas 描述统计函数
- pandas排序与统计
- pandas 常用统计方法
- Pandas统计特征函数
- python pandas 统计性质
- pandas 数据统计
- Python数据分析模块 | pandas做数据分析(三):统计相关函数
- pandas小记:pandas计算工具-汇总统计
- pandas小记:pandas计算工具-汇总统计
- python数据分析pandas包入门学习(三)汇总和统计描述
- python/pandas/Numpy数据分析-统计描述,唯一值,值计数
- 利用Pandas进行数据分析(3)——统计、处理缺失值、层次化索引
- Ansi,UTF8,Unicode,ASCII编码的区别
- 交叉法在几何上的应用
- SDUT 2016级 CF 每周题集 Round 2
- 代码review总结
- 用TensorFlow开发问答系统
- 入手pandas分析统计
- 分布式事务模型DTP
- node 环境安装
- java环境配置
- jq获取当前事件对象
- 云星数据---Scala实战系列(精品版)】:Scala入门教程030-Scala实战源码-Scala 的特质 (接口)06
- 小巧便捷的2端口桌面型HDMI切换器
- Python 和 Ruby 的对比
- ams功能分析之activity启动过程