《Python数据分析与应用》复现笔记

数据分析

Numpy

  • arr.ravel() 完成数组的展开工作

  • arr.flatten() 展平数组,可以选择横向(‘A’)或者纵向(‘F’)展开

  • np.hstack() 横向组合

  • np.vstack() 纵向组合

  • np.concatenate() 通过调参数axis来实现横向或者纵向组合,axis=1 为横向组合,axis=0为纵向组合

  • np.hsplit() 横向分割

  • np.vsplit() 纵向分割

  • np.split() 通过调参数axis来实现横向或者纵向分割,axis=1 为横向分割,axis=0为纵向分割

  • np.multiply(mat1,mat2) 两个矩阵点乘

  • mat1.T 矩阵的转置矩阵

  • mat1.H 共轭转置

  • mat1.I 矩阵的逆

  • mat1.A 返回自身数据的二维数组的一个视图

  • np.save() 以二进制格式保存数据

  • np.load() 从二进制的文件中读取数据 注:存储的时候可以省略扩展名,但读取的时候

  • np.savetxt(fname,data,fmt="%.18e",delimiter=’’",newline=’\n’,header=’’,footer=’’,comments=’#’) 将数组写到某种分隔符隔开的文本文件中

  • np.loadtxt(fname,data,delimiter=’’")把一个文件加载到一个二维数组中

  • np.genfromtxt(fname,delimiter="",names) 和loadtxt很相似,它面向的是结构化数组和缺失的数据

  • np.sort() 最常用的排序函数

  • arr.sort(axis=1) 沿横轴排序

  • arr.sort(axis=0) 沿纵轴排序

  • arr.argsort() 给定一个或多个键时,得到一个由整数构成的索引数组,索引值表示数据在新序列中的位置

  • arr.lexsort() 一次性对满足多个键的数组执行间接排序,与argsort()相似,返回索引数组

  • np.unique() 找出数组中的唯一值并返回已排序的结果

  • sorted() 可以对所有可迭代的对象进行排序操作 list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作

  • np.tile(A,reps) 将数组A重复reps次

  • np.repeat(a,repeats,axis) 将数组a 沿着特定的 轴进行重复 tile函数是对数组进行重复操作,而repeat函数对数组中的每个元素进行重复操作

  • np.cumsum() 计算数组累计和

  • np.cumprod() 计算数组累计积

Pandas

读写数据

  • pd.read_sql_table(table_name,con) 只能读取数据库的一个表格,不能实现查询的操作
  • pd.read_sql_query(sql,con) 只能执行查询操作,不能直接读取数据库中的某个表
  • pd.read_sql(sql,con) 既能读取数据库中的某一个表,也能够执行查询操作
  • DataFrame.to_sql(table_name,con) 将DataFrame写入数据库,同样也要依赖SQLAlchemy库的create_engine函数创建数据库连接
  • pd.read_csv(filepath,sep) 读取CSV文件
  • pd.read_table(filepath,sep) 读取文本文件
  • DataFrame.to_csv(path_or_buf) 对于结构化数据,可以通过pandas中的to_csv函数实现以CSV文件格式存储
  • pd.read_excel(filepath,sep) 读取文本文件
  • DataFrame.to_excel(excel_writer) 将文件存储为Excel文件

切片

  • DataFrame.loc[行索引名称,列索引名称] 切片 包括最后索引
  • DataFrame.iloc[行索引位置,列索引位置] 切片 不包括最后索引

分组聚合

  • DataFrame.groupby(by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True,squeeze=False) 能够根据索引或者字段对数据进行分组,by用于确定进行分组的依据,axis默认为0,默认对列进行操作,level表示标签所在的级别,as_index 表示聚合标签是否以DataFrame索引形式输出,sort是否对分组进行排序,group_keys是否显示分组标签的名称,squeeze表示是否允许对返回数据进行降维。
  • DataFrame.agg(func,axis=0)
  • DataFrame.aggregate(func,axis=0) agg函数和aggregate函数都支持对每个分组应用某个函数(包括内置函数和自定义函数),这两个方法也能直接对DataFrame进行函数应用操作。
  • DataFrame.apply(func,axis=0) 能将函数应用于每一列,但是无法像agg一样能够对不同字段应用不同函数来获取不同结果。
  • DataFrame.transform(func) 能够对整个DataFrame的所有元素进行操作
  • pd.pivot_table(data,values=None,index=Nobe,columns=None,aggfunc=‘mean’) 实现透视表,data表示创建表的数据,values用于指定要聚合的数据字段名,index表示行分组键,columns表示列分组键,aggfunc表示聚合函数
  • pd.crosstab(index,columns,values) 创建交叉表,主要用于计算分组频率,crosstab函数中的index,columns、values都是从DataFrame中取出的某一列
  • DataFrame.combine-first(other) 重叠合并数据

去重

  • DateFrame.drop_duplicates(self,subset=None,kkeep=‘first’,inplace=False) 去重并不会改变数据原始排列 subset 表示进行去重的列,默认为None表示全部列,keep 可以为如下值:first 保留第一个;last 保留最后一个 false 只要重复都不保留,默认为first,inplace 表示是否在原表上操作,默认为False

缺失值处理

  • DataFrame.dropna(self,axis=0,how=‘any’,subset=None,inplace) 删除缺失值,axis=0为删除观测记录,1为删除特征,how='any’表示只要有缺失值就执行删除操作,all表示当且仅当全部为缺失值时才执行删除操作
  • DataFrame.fillna(value=None,method=None,axis=None,inplace=False,inplace=None) 缺失值替换,value表示替换值,method可能取值为backfill或bfill表示使用下一个非缺失值来填补缺失值,axis=0表示轴向默认为1,limit表示填补缺失值的上限

转换数据

  • pd.get_dummies(data,prefix=None,prefix_sep=’_’,dummy_na=False,columns=None,sparse=False,drop_first=False) 对类别型特征进行哑变量处理,prefix表示哑变量化后的列名的前缀,默认为None,prefix_sep=’ _’ 前缀连接符
  • pd.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False) 将数据的值域分成具有等宽的区间,x代表需要进行离散化的数据,bins表示离散化后的类别数目或者要进行切分的区间,right表示右侧是否为闭区间
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值