pandas: DataFrame在数据处理时一些常用的操作汇总

对自己在数据处理中经常使用却经常忘记的一些操作汇总。我用的多,大家应该用的也很多,有需要的可以转载follow。

1.dataframe数据筛选:loc,iloc,ix,at,iat

loc:需要用行列的标签进行索引。

iloc:需要用行列索引进行索引。

ix:功能更强大一些,结合了以上两种方法,既可以用标签,又可以用索引。

at:根据指定行index及列label,快速定位DataFrame的元素,选择列时仅支持列名。

iat:与at的功能相同,只使用索引参数。

2.pandas 排序sort_index,sort_values

series: 
一组数组(列表或元组),series除了一组数据外还包括一组索引(即只有行索引),索引可自行定义也可利用Series(),自动生成索引; 
dataframe: 
是表格型数据,既有行索引又有列索引,每列数据可以为不同类型数据(数值、字符串、布尔型值),可利用DataFrame(其他数据,dataframe属性)指定dataframe的属性创建dataframe。

sort_index和sort_values 都可以对Series, dataframe,panel进行排序

DataFrame.sort_index(axis=0level=Noneascending=Trueinplace=Falsekind='quicksort',na_position='last'sort_remaining=Trueby=None)

inplace:是否替换原数据

Series.sort_index(axis=0level=Noneascending=Trueinplace=Falsekind='quicksort',na_position='last'sort_remaining=True)

DataFrame.sort_values(byaxis=0ascending=Trueinplace=Falsekind='quicksort',na_position='last')

na_position:nan排序的位置

Series.sort_values(axis=0ascending=Trueinplace=Falsekind='quicksort',na_position='last')

可以看到对Series的排序没有by参数。

3.数据探索函数

3.1基本统计特征函数

统计特征函数用于计算数据的均值、方差、标准差、分位数、相关系数和协方差等,这些统计特征能反映出数据的整体分布。本小节介绍的统计特征函数主要作为Pandas的对象DataFrame或Series的方法出现。

sum():计算数据样本的总和(按列计算)

mean():计算数据样本的算术平均数

var():计算数据样本的方差

std():计算数据样本的标准差

corr(method):计算数据样本的Spearman(Pearson)相关系数矩阵,method参数为计算方法,pearson等。S_{1}.corr(S_{2}, method='pearson')S_{1}S_{2}均为Series,这种格式计算两个Series之间的相关系数。

cov():计算数据样本的协方差矩阵。S_{1}.cov(S_{2}),S_{1},S_{2}均为Series,这种格式计算两个Series之间的协方差。

skew():样本值的偏度(三阶矩)。

kurt():样本值的峰度(四阶矩)。

describe():给出样本的基本描述(基本统计量入均值、标准差等)。

SeriesGroupBy.value_counts(normalize=Falsesort=Trueascending=Falsebins=None,dropna=True):分组之后计数。

3.2拓展统计特征函数

主要有累积计算(cum)和滚动计算(pd.rolling_),如下:

cumsum():依次给出前1...n个数的和。

cumprod():依次给出前1...n个数的积。

summax():依次给出前1...n个数的最大值。

summin():依次给出前1...n个数的最小值。

rolling_sum():计算数据样本的总和(按列计算)

rolling_mean():数据样本的算术平均数。

cum系列函数是作为DataFrame或Series对象的方法而出现的,命令格式为D.cumsum(),而rolling_系列是pandas的函数,格式为pd.rolling_mean(D,k),意思是每k列计算依次均值,滚动计算。

3.3统计作图函数

plot():绘制线性二维图,折线图。

使用格式:plt.plot(x,y,S),S为绘制时图形的类型、样式和颜色。

D.plot(kind='box'),这里使用的是Dataframe或Series对象内置的方法作图,默认以index为横坐标,每列数据为纵坐标自动作图,通过kind参数指定作图类型,支持line、bar、barh、hist、box、kde、area\pie(饼图)等,同时也能接收plt.plot()中接收的参数。因此,如果数据已经被加载为Pandas中的对象,那么以这种方式作图是比较简洁的。

pie():绘制饼形图。plt.pie(size)

hist():绘制二维条形直方图,可以显示数据的分配情形。plt.hist(x,y)

boxplot():绘制样本数据的箱型图。D.boxplot()/D.plot(kind='box')

plot(logy=True):绘制y轴的对数图形

plot(yerr=error):绘制误差条形图

4.python主要的数据预处理函数

interpolate(Scipy):一维、高维数据插值 

unique(Pandas/Numpy):去除数据中重复的元素,得到单值元素列表,它是对象的方法名

isnull/notnull(Pandas):判断是否空值和非空值

isna():Detect missing values (NaN in numeric arrays, None/NaN in object arrays)

PCA(Scikit-Learn):主成分分析

 

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值