对自己在数据处理中经常使用却经常忘记的一些操作汇总。我用的多,大家应该用的也很多,有需要的可以转载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=0, level=None, ascending=True, inplace=False, kind='quicksort',na_position='last', sort_remaining=True, by=None)
inplace:是否替换原数据
Series.
sort_index
(axis=0, level=None, ascending=True, inplace=False, kind='quicksort',na_position='last', sort_remaining=True)
DataFrame.
sort_values
(by, axis=0, ascending=True, inplace=False, kind='quicksort',na_position='last')
na_position:nan排序的位置
Series.
sort_values
(axis=0, ascending=True, inplace=False, kind='quicksort',na_position='last')
可以看到对Series的排序没有by参数。
3.数据探索函数
3.1基本统计特征函数
统计特征函数用于计算数据的均值、方差、标准差、分位数、相关系数和协方差等,这些统计特征能反映出数据的整体分布。本小节介绍的统计特征函数主要作为Pandas的对象DataFrame或Series的方法出现。
sum():计算数据样本的总和(按列计算)
mean():计算数据样本的算术平均数
var():计算数据样本的方差
std():计算数据样本的标准差
corr(method):计算数据样本的Spearman(Pearson)相关系数矩阵,method参数为计算方法,pearson等。,
、
均为Series,这种格式计算两个Series之间的相关系数。
cov():计算数据样本的协方差矩阵。,
,
均为Series,这种格式计算两个Series之间的协方差。
skew():样本值的偏度(三阶矩)。
kurt():样本值的峰度(四阶矩)。
describe():给出样本的基本描述(基本统计量入均值、标准差等)。
SeriesGroupBy.
value_counts
(normalize=False, sort=True, ascending=False, bins=None,dropna=True):分组之后计数。
3.2拓展统计特征函数
主要有累积计算(cum)和滚动计算(pd.rolling_),如下:
cumsum():依次给出前个数的和。
cumprod():依次给出前个数的积。
summax():依次给出前个数的最大值。
summin():依次给出前个数的最小值。
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):主成分分析