码迷,mamicode.com
首页 > 其他好文 > 详细

pandas 常用函数整理

时间:2017-08-24 19:57:00      阅读:1213      评论:0      收藏:0      [点我收藏+]

标签:apply()   timestamp   footer   本地   efi   rod   nts   读取   数据处理   

pandas常用函数整理,作为个人笔记。

仅标记函数大概用途做索引用,具体使用方式请参照pandas官方技术文档。

 

约定

from pandas import Series, DataFrame

import pandas as pd

import numpy as np

带.的为Series或者DataFrame对象的方法,只列举了部分关键字参数。

 

1、基础

.values 获取值,返回array对象

.index 获取(行)索引,返回索引对象

Series( index=) 创建Series,可指定索引

pd.isnull pd.notnull 返回是否为缺失值的布尔型数组

.isnull 同上

DataFrame(columns=,index=) 创建DataFrame,可指定行索引,列索引

.T 行列转置

del 关键字 删除

.reindex(method=, fill_value=, index=, columns=) 重新索引,即按照新索引创建新对象,可指定缺失值 填充方式,缺失值插值方式,行索引,列索引

.ix[ , ] 同上,添入行、列索引,可传入列表

.drop(axis=) 删除指定轴上的指定值

.apply(axis=) 沿指定轴应用函数

.sort_index(axis=, by=列名) 对索引排序,可根据指定列的值进行排序

.order 按值排序

.rank(ascending=, method=, axis=) 排名

.index.is_unique 检查索引值唯一性(是否有重复项)

 

2、约简类,可指定轴、是否排除缺失值、层次化索引分组约简。

.sum(axis=, skipna=, level=) 求和

.mean 均值

.idxmax 返回最大值索引

.cumsum 累积和

.describe统计描述汇总

.count 非nan值数量

.min 最小值

.quantile 分位数

.median 中位数

.mad 平均绝对离差

.var 方差

.std 标准差

.skew 偏度

.kurt 峰度

.cumprod 累积积

.diff

.pct_change

.tail 显示尾行,五个

.head 显示开始行,五个

.corr 求相关系数(Series和Series,或者DataFrame和DataFrame)

.cov 求协方差

.corrwith 求相关系数(DataFrame的行或列 与Series或DataFrame)

.unique 得到唯一值数组

.value_counts(sort=) 求值频率,可传入False指定降序排列

.isin 判断成员资格

.dropna(how=, axis=, thresh=) 丢弃缺失数据,对DataFrame可指定丢弃方式

.fillna(inplace=,method=, limit=) 用指定值或字典填充缺失数据,可指定是否就地修改,填充方式,填充数量限制

.unstack 行索引转列索引

.stack 列索引转行索引

MultiIndex.from_arrays 用数组构建层次化索引

.swaplevel 重排层次化索引分级顺序

.sortlevel 根据单个级别的值对数据排序

.set_index(drop=) 将某一列转为行索引

.reset_index 将行索引转为列

.irow 根据整数位置选取行

.icol 根据整数位置选取列

pd.Panel 创建面板数据

.to_panel DataFrame转换为Panel

.to_frame Panel转换为DataFrame

 

3、数据读取

pd.read_csv(sep=, delim_whitespace=, header=,skiprows=,converters=,keep_date_col=,parse_date=,na_values=,nrows=,skip_footer=, )

最常用的csv和text文件读取方式

.to_csv 将数据写入csv

.from_csv 从csv读取数据

 

4、数据规整

pd.merge(on=,how=,suffixes=,left_index=,right_index=) 横向合并

.join(how=, on=, ) 按索引合并,可传入一组DataFrame

pd.concat(axis=,join=,join_axes=,keys=,names=,ignore_index=) 纵向连接,也可以传入轴进行横向连接

np.nan nan值

np.where 矢量化if-else表达,第一个为判断条件,可为布尔型数组,后面两个为值

.combine_first 用一个数据为另一个数据“打补丁”

.pivot 长格式转宽格式,指定行索引,列索引名,填充值列

.duplicated 返回布尔型Series,表示各行是否是重复行(第一次出现的值为False,再次出现为True)

.drop_duplicates(take_last=) 返回移除了重复行的DataFrame,可指定是保留第一个还是最后一个

.map 元素级转换函数,可将函数应用于Series或DataFrame某列

.replace 替换指定值,第一个参数为要被替换的值,第二个是用来替换的值,支持字典

.rename(index=, columns=,inplace=) 轴标签更新,接受字典,可就地修改

pd.cut(right=,labels=) 面元划分

pd.value_counts 值频率计算

.any 可用来过滤异常值,里面为容忍度整数

.take 按指定顺序重排序,可接受列表

np.random.permutation 产生随机重排列

pd.get_dummies(prefix=) 计算哑变量矩阵,可指定列前缀

 

字符串对象方法

.split 按指定值拆分字符串

.strip 修剪空白符和换行符

.join 用指定值连接字符串

.index 返回索引,找不到则引发异常

.find 返回索引,找不到返回-1

.count 返回指定子串出现次数

re.compile 编译regex对象

re.compile.findall 得到匹配regex的所有模式

 

pd中的方法

.str.contains 按指定模式搜索,返回布尔型数组

.str.match 按指定模式获取

.str.get 按指定模式获取

.str[] 按指定模式获取

 

 

5、分组运算

.groupby(level=, axis=,group_keys=) 进行按列分组,然后就可以调用进行聚合或其他运算了

.size 返回含有分组大小的Series

.agg(as_index=) 可对已经分组的对象应用,传入函数,或者针对不同列的不同函数,用字典。

.add_prefix 为列索引加前缀

.transform 传入函数,将指定函数应用到各个分组,将结果放置到适当的位置

.apply() 一般性的“拆分-应用-合并”函数,超级有用

pd.pivot_table(rows=, cols=, margins=, aggfunc=, fill_value=,) 分组聚合,可指定需要聚合的列,分组列,添加分项小计,传入聚合函数,缺失值设置。

pd.crosstab计算分组频率的交叉表

 

6、时序分析

from datetime import datetime

datetime.now 获取当前时间

now.year 年

now.month 月

now.day 日

.strftime 日期转为字符串,可指定格式

.strptime 字符串转为日期,可指定格式

from dateutil.parser import parse

parse 解析日期

pd.to_datetime 解析日期

pd.date_range(periods=, freq=) 生成日期索引

pd.DatetimeIndex 创建时间序列

.resample(how=,closed=,loffset=,fill_method=,limit=) 重采样

.shift(freq=) 数据前移或滞后,正数为滞后,可指定周期

.tz_locallize 将单纯时区转本地化

.tz_convert 对本地化时区进行时区转换

pd.Timestamp 创建时间戳序列

pd.Period 创建时期序列

pd.period_range 创建时期范围序列

pd.PeriodIndex 创建时期索引

.asfreq 时期频率转换

.to_timestamp 时期转时间戳

.to_period 时间戳转时期

.plot 画图

 

 

缺点和不足:未针对Series和DataFrame的方法做明确区别;index对象的方法未列举;其他数据读入方式未列取;关键字参数仅列举了部分;可视化未列举;时序分析写的过简;pandas版本存在更新,函数及参数未完全验证;一些操作技巧未说明。

补充:了解基础部分就可以辅助完成策略编写,而分组运算和时序分析部分函数不多,但灵活性很强,对个人研究的数据处理帮助较大,可以轻松画出经典技术指标图,或者构建自己的技术指标。更多统计分析与建模,还需要其他库的支持。

 

阅读原文:http://suo.im/3UWOOP

pandas 常用函数整理

标签:apply()   timestamp   footer   本地   efi   rod   nts   读取   数据处理   

原文地址:http://www.cnblogs.com/csj007523/p/7424375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!