博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pandas使用
阅读量:7068 次
发布时间:2019-06-28

本文共 1561 字,大约阅读时间需要 5 分钟。

写这篇文章,主要是想按照一定的逻辑顺总结一下自己做项目以来,序用到过的pandas的知识点.

虽然pandas官方文档上各个方面都写的很清楚,但是还是想自己再写一份,一个是想作为个人梳理,另外也可以把最经常使用的部分拎出来,更清晰一些.

不定时更新.

数据的IO

MySQL

1.读mysq数据

df = pd.read_sql(sql, db.conn)

其中sql是需要的sql语句,db是创建的数据库连接对象.

一般来说,这样基本就能满足需求.

额外的参数

1. chunksize : int, default None    当数据量比较大,或者想将读入的数据分割成指定行数的一个个block,则可以设置这个参数.其会返回一个迭代器,迭代器中的元素为chunksize行数的记录.     2. index_col : string or list of strings, optional, default: None    可以设置某些列为索引列.

2.写mysql数据

engine = create_engine('mysql+pymysql://root:password@localhost/schemeName', echo=False)df.to_sql(tablename, engine, if_exists='append', index=index)

将df的数据写入到数据库表中.pandas文档中提供的例子是SQlite的数据库,所以不能直接用db.conn去充当engine.

参数说明

1. if_exists: {‘fail’, ‘replace’, ‘append’}, default ‘fail’当数据库中存在要写入的table时,三种处理方式fail:那么写入失败replace:把原来的table删掉,写入新的append:在原来的table上,添加新的记录2. index : boolean, default True当设为True时,会把df的index当成一列写入数据库.

csv

1.读数据

df = pd.read_csv(path + filename, header=None, names=[name1, name2])

参数说明

1.header: int or list of ints, default ‘infer’用来指定行号作为数据的开始和列的名称.header设为None是告诉其打开的文件里没有列名.如果打开的文件有列名的时候,可以不设置这一项,这样系统会自动推测出列名.2.names : array-like, default None显示地指定列的名称.当header是None的时候,需要加上这个.

关于这个函数,可设置的参数还比较多,不过目前使用的也就这几个,所以先不描述其他了.

2.写数据

df.to_csv(path+filename, index=False, header=header, mode='a')

参数说明

1.index: boolean, default True说明是否需要写入df的index.2.header : boolean or list of string, default True说明是否要把列名写入.也可以在这里重新设置写入的列名.3.mode : str,default ‘w’python的写入模式.

excel

直接创建dateFrame

数据的选择

简单选择

  1. 选择部分行
  2. 选择部分列
  3. 选择数值

按照条件进行筛选

  1. 单一条件筛选
  2. 多个条件筛选

数据的聚合值描述

数据的修改

索引信息的修改

数据的合并

  1. concat
  2. merge
  3. join

数据的可视化

时间序列相关

数据采样

转载地址:http://ewell.baihongyu.com/

你可能感兴趣的文章
关于读写锁算法的java实现及思考
查看>>
最小堆排序
查看>>
iOS-网络爬虫
查看>>
jira
查看>>
elasticsearch rpm 安装
查看>>
Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)
查看>>
数据预处理——剔除异常值,平滑,归一化
查看>>
Visual stuido 项目路径的奇怪问题
查看>>
java局部变量和临时变量
查看>>
返回杨辉三角前 n 层的数字
查看>>
布局(2、相对布局)
查看>>
在 Eclipse 上配置tomcat7.0并创建工程发布
查看>>
腾讯移动分析 签名代码示例
查看>>
重新回归博客园,写在开始的话。
查看>>
JavaScript定义函数
查看>>
AJAX的基础
查看>>
安全使用电子邮件十三法
查看>>
开发人员必知的20+HTML5技巧
查看>>
组合数学
查看>>
Loadrunner如何添加负载机
查看>>