pandas使用

写这篇文章,主要是想按照必定的逻辑顺总结一下本身作项目以来,序用到过的pandas的知识点.
虽然pandas官方文档上各个方面都写的很清楚,可是仍是想本身再写一份,一个是想做为我的梳理,另外也能够把最常常使用的部分拎出来,更清晰一些.html

不定时更新.python

数据的IO

MySQL

1.读mysq数据mysql

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

其中sql是须要的sql语句,db是建立的数据库链接对象.sql

通常来讲,这样基本就能知足需求. 数据库

额外的参数app

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

pandas.read_sql文档函数

2.写mysql数据excel

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.code

参数说明htm

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

2. index : boolean, default True
当设为True时,会把df的index当成一列写入数据库.

pandas.DataFrame.to_sql文档

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的时候,须要加上这个.

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

pandas.read_csv文档

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的写入模式.

pandas.DataFrame.to_csv文档

excel

直接建立dateFrame

数据的选择

简单选择

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

按照条件进行筛选

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

数据的聚合值描述

数据的修改

索引信息的修改

数据的合并

  1. concat
  2. merge
  3. join

数据的可视化

时间序列相关

数据采样

相关文章
相关标签/搜索