1 import语句

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime
import re

2 文件读取

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的字典

3 数据预处理

df.duplicated() #返回各行是否是上一行的重复行
df.drop_duplicates() #删除重复行,如果需要按照列过滤,参数选填['col1', 'col2',...]
df.fillna(0) #用实数0填充na
df.dropna() #axis=0|1 0-index 1-column#how='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表示

4 数据筛选

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对象返回

5 数据运算与排序

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值

6 数学统计

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. blankcount函数python,Python pandas常用函数详解

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

  2. python pandas常用函数_Python pandas常用函数详解

    df.duplicated() 返回各行是否是上一行的重复行 df.drop_duplicates() 删除重复行,如果需要按照列过滤,参数选填['col1', 'col2',-]df.fillna( ...

  3. QT:常用函数详解--常用操作记录(个人笔记)

    QT:常用函数详解(个人笔记) PS:一下内容个人笔记,要求自己看懂,随笔,阅读体验会很差很差! Qt setContentsMargins()函数 函数原型:void QLayout::setCon ...

  4. python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...

    Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...

  5. MySql截取字符串的几个常用函数详解

    MySql截取字符串的几个常用函数详解 MySQL 截取字符的几个常用函数:left(), right(), substring(), substring_index(),mid(), substr( ...

  6. 【Python入门】Python之OS模块39个常用函数详解

    os,语义操作系统,所以该模块就是操作系统相关的功能了,用于处理文件和目录这些我们日常手动需要做的操作,比如新建文件夹.获取文件列表.删除某个文件.获取文件大小.重命名文件.获取文件修改时间等,该模块 ...

  7. numpy随机生成01矩阵_Python数据分析Numpy库常用函数详解,提到循环就该想到的库...

    Python进行数据分析的核心库肯定是Pandas,该库差不多可以解决结构化数据的绝大部分处理需求.在<Python数据分析常用函数及参数详解,可以留着以备不时之需 >一文中也已经对该库的 ...

  8. linux网络编程常用函数详解与实例(socket--bind--listen--accept)

    常用的网络命令: netstat 命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的选项我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可 ...

  9. el replace 表达式_EL表达式运算符、常用函数详解

    运算符: 1.算术运算符有五个:+.-.*或$./或div.%或mod 2.关系运算符有六个:==或eq.!=或ne.或gt.<=或le.>=或ge 3.逻辑运算符有三个:&&am ...

最新文章

  1. select三级联动 怎么删除前一个的_python测试开发django57.xadmin选项二级联动
  2. 使用Hystrix实现自动降级与依赖隔离[微服务]
  3. Nat. Biotechnol.扩增子测序革命—用16S及18S rRNA全长进行微生物多样性研究
  4. c malloc 头文件_C 数据类型
  5. c#使用Stopwatch来计算时间间隔
  6. 输入输出系统1 ----- 特性 输出输出方式
  7. CF1408D:Searchlights
  8. python 编程语言排行榜_2019年6月编程语言排行榜:Python 排名飙升,三年内有望超越Java...
  9. 利用python转换图片格式
  10. 基于实验数据的轮胎模型
  11. Vue.js 系列教程 4:Vuex
  12. 启动thriftserver.sh
  13. 安装kepserver找不到根证书_考完二手车评估师证书却找不到工作,面试官的话让我记忆犹新!...
  14. 【转载】UMTS到LTE的系统架构演进
  15. U盘启动BIOS设置
  16. 在SVN安装目录的bin文件夹下没有找到svn.exe
  17. cocos creator快速上手《摘星星》官方教程续|星月爸爸
  18. 关于良率:交期延误、报废补料、不做退款都是什么情况?
  19. 计算机术语pc是什么意思,pc_pc是什么意思-太平洋IT百科
  20. Day24(ObjectString,MyThread,Properties,ThreadDaemon,ThreadJoin,ThreadPriority,ThreadSleepThreadStop)

热门文章

  1. Linux查看pid进程
  2. DHU OJ | 基本练习-25 最小公倍数
  3. 视频教程-AI基础实战视频课程(海报书籍、多媒体设计、UI界面设计)-其他
  4. HDLBITS笔记23:触发器的基础练习(同步清零、异步清零、复位端、字节使能等)
  5. VUE动态切换皮肤 VUE动态切换背景图片 操作 / VUE 主题切换
  6. NLP--相似度方法总结【原理】
  7. 输电线路缺陷绝缘子数据集(包括:缺损、放电、防震锤等)
  8. 64位win7旗舰版安装oracle 10g 64位
  9. 策略模式解决多重if-else
  10. Oracle的nvl(a,b)函数说明