1、文件读取

df = pd.read_csv(path='file.csv')
参数:header=None  用默认列名,0,1,2,3...names=['A', 'B', 'C'...] 自定义列名index_col='A'|['A', 'B'...]  给索引列指定名称,如果是多重索引,可以传listskiprows=[0,1,2] 需要跳过的行号,从文件头0开始,skip_footer从文件尾开始nrows=N 需要读取的行数,前N行chunksize=M 返回迭代类型TextFileReader,每M条迭代一次,数据占用较大内存时使用sep=':'数据分隔默认是',',根据文件选择合适的分隔符,如果不指定参数,会自动解析skip_blank_lines=False 默认为True,跳过空行,如果选择不跳过,会填充NaNconverters={'col1', func} 对选定列使用函数func转换,通常表示编号的列会使用(避免转换成int)dfjs = pd.read_json('file.json')  可以传入json格式字符串
dfex = pd.read_excel('file.xls', sheetname=[0,1..]) 读取多个sheet页,返回多个df的字典

2、数据预处理

df.duplicated()           返回各行是否是上一行的重复行
df.drop_duplicates()      删除重复行,如果需要按照列过滤,参数选填['col1', 'col2',...]
df.fillna(0)              用实数0填充na
df.dropna()               axis=0|1  0-index 1-columnhow='all'|'any' all-全部是NA才删  any-只要有NA就全删
del df['col1']            直接删除某一列
df.drop(['col1',...], aixs=1)   删除指定列,也可以删除行
df.column = col_lst       重新制定列名
df.rename(index={'row1':'A'},   重命名索引名和列名columns={'col1':'A1'})
df.replace(dict)          替换df值,前后值可以用字典表,{1:‘A’, '2':'B'}def get_digits(str):m = re.match(r'(\d+(\.\d+)?)', str.decode('utf-8'))if m is not None:  return float(m.groups()[0])else:return 0
df.apply(get_digits)      DataFrame.apply,只获取小数部分,可以选定某一列或行
df['col1'].map(func)      Series.map,只对列进行函数转换pd.merge(df1, df2, on='col1',how='inner',sort=True) 合并两个DataFrame,按照共有的某列做内连接(交集),outter为外连接(并集),结果排序pd.merge(df1, df2, left_on='col1',right_on='col2')   df1 df2没有公共列名,所以合并需指定两边的参考列pd.concat([sr1, sr2, sr3,...], axis=0) 多个Series堆叠成多行,结果仍然是一个Series
pd.concat([sr1, sr2, sr3,...], axis=1) 多个Series组合成多行多列,结果是一个DataFrame,索引取并集,没有交集的位置填入缺省值NaNdf1.combine_first(df2)   用df2的数据补充df1的缺省值NaN,如果df2有更多行,也一并补上df.stack()              列旋转成行,也就是列名变为索引名,原索引变成多层索引,结果是具有多层索引的Series,实际上是把数据集拉长df.unstack()            将含有多层索引的Series转换为DataFrame,实际上是把数据集压扁,如果某一列具有较少类别,那么把这些类别拉出来作为列
df.pivot()              实际上是unstack的应用,把数据集压扁pd.get_dummies(df['col1'], prefix='key') 某列含有有限个值,且这些值一般是字符串,例如国家,借鉴位图的思想,可以把k个国家这一列量化成k列,每列用0、1表示

3、数据筛选

df.columns             列名,返回Index类型的列的集合
df.index               索引名,返回Index类型的索引的集合
df.shape               返回tuple,行x列
df.head(n=N)           返回前N条
df.tail(n=M)           返回后M条
df.values              值的二维数组,以numpy.ndarray对象返回
df.index               DataFrame的索引,索引不可以直接赋值修改
df.reindex(index=['row1', 'row2',...]columns=['col1', 'col2',...]) 根据新索引重新排序
df[m:n]                   切片,选取m~n-1行
df[df['col1'] > 1]     选取满足条件的行
df.query('col1 > 1')   选取满足条件的行
df.query('col1==[v1,v2,...]')
df.ix[:,'col1']        选取某一列
df.ix['row1', 'col2']  选取某一元素
df.ix[:,:'col2']       切片选取某一列之前(包括col2)的所有列
df.loc[m:n]            获取从m~n行(推荐)
df.iloc[m:n]           获取从m~n-1行
df.loc[m:n-1,'col1':'coln']   获取从m~n行的col1~coln列sr=df['col']           取某一列,返回Series
sr.values              Series的值,以numpy.ndarray对象返回
sr.index               Series的索引,以index对象返回

4、运算与排序

df.T                   DataFrame转置
df1 + df2              按照索引和列相加,得到并集,NaN填充
df1.add(df2, fill_value=0) 用其他值填充
df1.add/sub//mul/div   四则运算的方法
df - sr                DataFrame的所有行同时减去Series
df * N                 所有元素乘以N
df.add(sr, axis=0)     DataFrame的所有列同时减去Seriessr.order()             Series升序排列
df.sort_index(aixs=0, ascending=True) 按行索引升序
df.sort_index(by=['col1', 'col2'...])  按指定列优先排序
df.rank()              计算排名rank值

5、统计

sr.unique             Series去重
sr.value_counts()     Series统计频率,并从大到小排序,DataFrame没有这个方法
sr.describe()         返回基本统计量和分位数df.describe()         按各列返回基本统计量和分位数
df.count()            求非NA值得数量
df.max()              求最大值
df.min()              求最大值
df.sum(axis=0)        按各列求和
df.mean()             按各列求平均值
df.median()           求中位数
df.var()              求方差
df.std()              求标准差
df.mad()              根据平均值计算平均绝对利差
df.cumsum()           求累计和
sr1.corr(sr2)         求相关系数
df.cov()              求协方差矩阵
df1.corrwith(df2)     求相关系数pd.cut(array1, bins)  求一维数据的区间分布
pd.qcut(array1, 4)    按指定分位数进行区间划分,4可以替换成自定义的分位数列表   df['col1'].groupby(df['col2']) 列1按照列2分组,即列2作为key
df.groupby('col1')    DataFrame按照列1分组
grouped.aggreagte(func) 分组后根据传入函数来聚合
grouped.aggregate([f1, f2,...]) 根据多个函数聚合,表现成多列,函数名为列名
grouped.aggregate([('f1_name', f1), ('f2_name', f2)]) 重命名聚合后的列名
grouped.aggregate({'col1':f1, 'col2':f2,...}) 对不同的列应用不同函数的聚合,函数也可以是多个df.pivot_table(['col1', 'col2'], rows=['row1', 'row2'], aggfunc=[np.mean, np.sum]fill_value=0,margins=True)  根据row1, row2对col1, col2做分组聚合,聚合方法可以指定多种,并用指定值替换缺省值pd.crosstab(df['col1'], df['col2']) 交叉表,计算分组的频率

Pandas常用函数汇总相关推荐

  1. pandas常用函数说明及速查表

    pandas常用函数说明及速查表 如果你用python做开发,那么几乎肯定会使用pandas库. Pandas 是 Python 语言的一个扩展程序库,用于数据分析. Pandas 是一个开放源码.B ...

  2. pandas 常用函数整理

    pandas常用函数整理,作为个人笔记. 仅标记函数大概用途做索引用,具体使用方式请参照pandas官方技术文档. 约定 from pandas import Series, DataFrame im ...

  3. matlab常用函数汇总

    matlab常用函数汇总 1.特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN ...

  4. Oracle常用函数汇总记录

    Oracle常用函数汇总记录 一.SUBSTR 截取函数 用法:substr(字符串,截取开始位置,截取长度) //返回截取的字, 字符串的起始位置为1,截取时包含起始位置字符 1.SUBSTR( & ...

  5. blankcount函数python,Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名, ...

  6. 深度盘点:整理100个 Pandas 常用函数

    大家好,Pandas 是 Python 中最频繁.最受欢迎使用的模块之一,本文我将对 pandas 常用操作进行总结. 内容主要涉及:读取数据和保存数据.数据详情信息.数据处理.数据切片.筛选.排序. ...

  7. CDA学习之Pandas - 常用函数和75个高频操作

    目录 一.函数 1.1 常用函数 1.1.1 导⼊数据 1.1.2 导出数据 1.1.3 查看数据 1.1.4 数据选取 1.1.5 数据处理 1.1.6 数据分组和排序 1.1.7 数据合并 1.1 ...

  8. 【Python】精选23个Pandas常用函数

    公众号:尤而小屋 作者:Peter 编辑:Peter 从26个字母中精选出23个Pandas常用的函数,将它们的使用方法介绍给大家.其中o.y.z没有相应的函数. import pandas as p ...

  9. Hive内置函数与常用函数汇总

    目录 Hive内置函数汇总 字符函数(字符串操作) 数学函数 集合函数 类型转换函数 日期函数 条件函数 聚合函数 表生成函数 辅助功能类函数 数据屏蔽函数(从Hive 2.1.0开始) Hive常用 ...

最新文章

  1. OpenCV中基于LBP算法的人脸检测测试代码
  2. 人脸识别 性能评价指标
  3. Ubuntu用户设置文件说明
  4. nothing comes free
  5. 04.卷积神经网络 W1.卷积神经网络
  6. 一种被忽视的构造和整数溢出重现
  7. 计算机组成原理平均cpi怎么算_2020考研 | 计算机统考408院校盘点,408考试内容难易分析...
  8. [论文翻译] iCaRL: Incremental Classifier and Representation Learning
  9. java如何保证redis设置过期时间的原子性_【07期】Redis中是如何实现分布式锁的?...
  10. 时区时钟插件html,日期、时间选择控件 - datetimepicker
  11. css实现LED液晶数码字体
  12. 通过poi读取ppt元素demo
  13. mac 终端 常用命令
  14. composer 进行tp6的安装
  15. ORA-00600: internal error code, arguments: [2037]
  16. LINUX 用户 及 组
  17. 计算机键盘功能教案,键盘认识教案
  18. 软件测试的类型有那些?都有什么不同?
  19. 北京电子邮箱账号密码登录技巧
  20. 对曲面的积分求椭圆的面积_此题是关于数学考研的曲面积分题∫∫(xdydz+ydzdx+zdxdy)/(x2+y2+z2)3/2,曲面是上半椭圆球面...

热门文章

  1. 枚举类型enum用法
  2. idea配置jdk环境
  3. 【SpringCloud】Hystrix断路器【五】
  4. Response.Write的alert换行问题
  5. (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  6. 【操作消息提醒——AjaxResult】和【返回状态码——HttpStatus】
  7. 一个实施工程师的自我修养
  8. Linux内核学习3——虚拟地址转换成物理地址
  9. MySQL数据库用户管理以及数据库用户授权
  10. 下拉数据过多,超过3000条浏览器卡顿