pandas对象教程


pandas对象

Index对象

index对象可以看成是不可变的一维数组 。输入高维数组,会打印出一维的,但仍然是高维的,索引依旧需要用到高维数组的索引。

index主要类型

Index			#最广泛的Index对象,将轴标签表示为一个由Python对象组成的NumPy数组
Int64Index		#针对整数的特殊Index
CategoricalIndex#类别索引,类别只能包含有限数量的(通常是固定的)可能值(类别)
MultiIndex		#“层次化”索引对象,表示单个轴上的多层索引。可以看做由元组组成的数组
DatetimeIndex	#存储纳秒级时间戳(用NumPy的Datetime64类型表示)
PeriodIndex		#针对Period数据(时间间隔)的特殊Index

属性

Index对象名.name				#名称
Index对象名.array			#pandasarray数组
Index对象名.values			#arry数组
Index对象名.size				#元素数量
Index对象名.shape			#形状
Index对象名.ndim				#维度数
Index对象名.dtype			#数据类型
Index对象名.empty			#是否为空
Index对象名.is_unique		#是否不重复
Index对象名.has_duplicates	#是否有重复值
Index对象名.names			#名称列表
Index对象名.is_all_dates		#是否全是日期
Index.is_monotonic			#当各元素大于前一个元素时,返回true
Index.unique				#计算Index中唯一值的数组

函数

Index对象名([x,y,...])			#创建索引
append对象名(Index)				#连接另一个Index对象,产生一个新的Index
Index对象名.astype()				#转换类型
Index对象名.isin([])				#列表中的值是否存在
Index对象名.nunique()			#不重复值的数量
Index对象名.sort_values()		#排序
Index对象名.map(lambda x:x+'_')	#map函数处理
Index对象名.str.replace()		#str替换
Index对象名.str.split()			#分隔
Index对象名.to_list()			#转为列表
Index对象名.to_frame(index=F,)	#转为dataframe
Index对象名.to_series()			#转为series
Index对象名.to_numpy()			#转为numpy
Index对象名.unique()				#去重
Index对象名.value_counts()		#去重及计数
Index对象名.where(index=='')		#筛选
Index对象名.rename()				#修改索引名称
Index对象名.rename('',inplace=F)	#重命名索引
Index对象名.rename([])			#多层,重命名索引
Index对象名.max()				#最大值
Index对象名.argmax()				#最大索引值
Index对象名.any()				#
Index对象名.all()				#
Index对象名.T					#转置,多层索引有用
Index对象名.delete(1)			#删除指定位置
Index对象名.difference()			#
Index对象名.drop('a',errors='')	#删除
Index对象名.drop_duplicates()	#去重值keep='first'
Index对象名.droplevel(0)			#删除层级
Index对象名.dropna(how='all')	#删除空值
Index对象名.equals(index)		#判断与另一个索引对象是否相同
Index对象名.fillna(0,{0:'nan'})	#填充空值
Index对象名.format(name=True,formatter=lambda x:x+10)
#字符列表,把name值加在第一位,每个值加10
Index对象名.isna()				#array是否为空
Index对象名.isnull()				#array是否缺失值
df对象名.add_prefix('t_')		#表头加前缀
df对象名.add_suffix('_d')		#表头加后缀
Index对象名.diff(Index)			#计算差集,产生一个新的Index
Index对象名.intersection(Index)	#计算交集
Index对象名.union(Index)			#计算并集
isin(Index)						#检查是否存在与参数索引中,返回bool型数组
Index对象名.delete(i)			#删除索引i处元素,得到新的Index
Index对象名.drop(str)			#删除传入的值,得到新Index
Index对象名.insert(i,str)		#将元素插入到索引i处,得到新Index

DataFrame对象

查看数据方法——三种

df.head()		#前部数据,默认5条,可指定条数。
df.tail()		#尾部数据,默认5条,可指定条数。
df.sample()		#一条随机数据,可指定条数。

属性

df.shape		#形状
df.info			#显示所有数据的类型、索引、行列数、各字段数据类型、内存占用等
df.dtypes		#返回每个字段和df的数据类型
df.axes			#返回一个列内容和行内容组成的列表
df.index
df.columns
df.values		#所有值的列表矩阵
df.ndim			#维度
df.size			#总数据数
df.empty		
df.keys()		#列名

方法

#描述统计
df.describe()		#所有数字列的统计表
					#如果没有数字,则会输出与字符相关的统计数据,如数量、不重复值数、最大值(字符按首字母顺序)等
#数学统计(df使用统计函数后会生成一个Series)
df.mean()			#返回所有列的均值
df.mean(1)			#返回所有行的均值
df.corr()			#返回列与列之间的相关系数
df.count()			#返回每一列中的非空值的个数
df.max()
df.min()
df.abs()
df.median()			#返回每一列的中位数
df.std()			#标准差
df.var()			#无偏方差
df.sem()			#平均值的标准误差
df.mode()			#众数
df.prod()			#连乘
df.mad()			#平均绝对偏差
df.cumprod()		#累积连乘
df.cumsum(axis=0)	#累积连加
df.nunique()		#去重数量,不同值的量
df.idxmax()			#每列最大值的索引名
df.idxmin()			#每列最小值的索引名
df.cummax()			#累积最大值
df.cummin()			#累积最小值
df.skew()			#样本偏度
df.kurt()			#样本峰度
df.quantile()		#样本分位数
#非统计计算
df.all()			#返回所有列all()值的Series
df.any()			#any()一个序列中满足一个True,则返回True;
					#all()一个序列中所有值为True时,返回True,否则为False。
df.round(2)			#指定字段指定保留小数位
df.round({'Q1':2,'Q2':0})
df.round(-1)		#保留10位

df.nunique()
df.isna()
df.notna()

df + 1
df.add()
df.sub()			#减
df.mul()			#乘
df.div()			#除
df.mod()			#模
df.pow()			#指数幂
df.dot(df2)			#矩阵运算
#位置计算
df.diff()			#相邻差值,下一行作为被减数
df.diff(-1)			#差值,上一行作为被减数
df.diff(1,axis=1)	#左右差值,右-左
df.shift()			#整体向下移一行,最顶行为NaN
df.shift(-1)		#向上一行
df.shift(axis=1)	#向右一列
df.shift(-1,axis=1)	#向左一列
#df.diff() = df - df.shift()
df.rank()			#生成数据的排序值替换原来的值
df.rank(axis=1)		#横向排序值
df.rank(pct=True)	#讲序数转换成0-1的数
df.rank(method=)		#指定的排序过程中,遇到相同值的序数计算方法
#method:average、min、max、first、dense按索引

数据选择

df[col]				#选择列
df.loc[label]		#按索引选择行
df.iloc[loc]		#按数字索引选择行
df[5:10]			#使用切片选择行
df[bool_vec]		#使用表达式筛选行
df.at[<索引>,<列名>]	#取具体值
df.at[]				#取具体值,仅支持数字索引
df.get(key,default=None)#获取数据,无值取第二个参数
df.truncate(before,after)#数据截取,取before和after之间的行
#索引选择器
pd.IndexSlice[]		#使用方法与.loc类似

df.loc的格式是df.loc[<行表达式>, <列表达式>]
在这里插入图片描述
df.iloc[<行表达式>, <列表达式>]


以上为基础的pandas操作,码字不易,点个赞支持一下,马上更新进阶操作。2022-6-13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值