标题文件读取

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

数据预处理

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表示

数据筛选

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

数据运算与排序

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值

数学统计

r.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.read_excel相关推荐

  1. pythonexcel介绍_Python 中pandas.read_excel详细介绍

    Python 中pandas.read_excel详细介绍 #coding:utf-8 import pandas as pd import numpy as np filefullpath = r& ...

  2. 成功解决将python的列表格式输出数值(如pandas.read_excel().describe()),批量转到表格内daiding

    成功解决将python的列表格式输出数值(如pandas.read_excel().describe()),批量转到表格内 目录 解决问题 解决方法 解决问题 将python的列表格式(如pandas ...

  3. python read函数参数_最新Pandas.read_excel()全参数详解(案例实操,如何利用python导入excel)...

    pandas.read_excel()的作用:将Excel文件读取到pandas DataFrame中. 支持从本地文件系统或URL读取的xls,xlsx,xlsm,xlsb和odf文件扩展名. 支持 ...

  4. c++常引用做参数可以有默认参数吗_最新Pandas.read_excel()全参数详解(案例实操,如何利用python导入excel)...

    pandas.read_excel()的作用:将Excel文件读取到pandas DataFrame中. 支持从本地文件系统或URL读取的xls,xlsx,xlsm,xlsb和odf文件扩展名. 支持 ...

  5. pandas read_excel 和 to_excel 读写Excel的参数详解

    Python 读写 Excel 可以使用 Pandas,处理很方便.但如果要处理 Excel 的格式,还是需要 openpyxl 模块,旧的 xlrd 和 xlwt 模块可能支持不够丰富.Pandas ...

  6. python pandas read_excel 参数详解 to_excel 读写Excel

    Python 读写 Excel 可以使用 Pandas,处理很方便.但如果要处理 Excel 的格式,还是需要 openpyxl 模块,旧的 xlrd 和 xlwt 模块可能支持不够丰富.Pandas ...

  7. Pandas读取excel文件(pandas.read_excel)

    Pandas读取excel文件[pandas.read_excel] 说明 一.pandas.read_excel函数及参数 二.io 三.sheet_name 四.header.index_col ...

  8. 已解决Python pandas.read_excel读取Excel文件报错

    已解决(Python pandas.read_excel读取Excel文件报错)io = ExcelFile(io,storage_options=storage.options, engine=en ...

  9. python 读excel中一个表_python – pandas read_excel在同一张表上的多个表

    假设我们有以下Excel文件: 解决方案:我们正在解析第一张表(索引:0) xl = pd.ExcelFile(fn) nrows = xl.book.sheet_by_index(0).nrows ...

最新文章

  1. 高可用性网络的简单配置方案(一)
  2. [BZOJ4557][JLOI2016]侦查守卫
  3. 怎样禁用计算机里的防病毒程序,Windows Defender防病毒程序已在Windows 10上完全永久禁用...
  4. 实体类(VO,DO,DTO)的划分
  5. [家里蹲大学数学杂志]第405期中国科学院数学与系统科学研究院2015年夏令营分析与代数试题...
  6. 用框图说明计算机控制系统,计算机控制系统试题
  7. 小米MIUI光标适配问题
  8. C++题解:矩阵快速幂 求 斐波那契数列
  9. jdom生成与解析xml详解
  10. 华为认证高级网络工程师(Huawei Certified Senior Network Engineer HCSE)
  11. cass坡度土方计算案例_cass7.0土方计算详解
  12. 网页倒计时跳转JS代码
  13. GPS设备采集的原始GPS坐标转换成百度坐标
  14. docker部署xxl-job2.3.0
  15. c语言三角分解法解方程,用直接三角分解法解线性方程组.ppt
  16. 2021年上半年最可靠的计算机领域投稿资源---着急毕业的同学必看
  17. 对接京东获取任务工单接口jingdong.homefw.task.search,附接口字段详细说明,数据库设计,Java实现
  18. ios模拟器 - Simulator录制视频
  19. Vue-Watcher观察者源码详解
  20. ASP.NET 2.0数据教程之三十六 在DataList里编辑和删除数据

热门文章

  1. 名帖162 王献之 行草《中秋帖》
  2. 小米降噪耳机,type c版本,评测,使用效果怎么样,开箱,亲测
  3. mysql 文件损坏logfile_logfile文件损坏的问题处理(ORA-00327)
  4. WEB那点事 -- (一)CGI 是什么玩意
  5. SAP/EXCEL日常操作Tips
  6. js验证表单用户名,密码
  7. php没有mysql_connect()_【在线等】php不能连接mysql?提示:Warning: mysql_connect() 。。。...
  8. RS485设备通过DTU上传数据到阿里云物联网平台
  9. 录录(高清录屏) - Video321 提高开会效率
  10. 录录(高清录屏) - Video321 从下载到安装使用