前言:昨天开始学习Datawhale 零基础入门数据挖掘的开源课程,文档写的很细致,但因为初步接触这些python库,故对里面的有些函数使用不太清楚,特此记录!
导入pandas包:
import pandas as pd
*
pd.head()和pd.tail():分别为读出数据的前5行和后5行
pd.describe():显示数据的统计结果
返回数据内容:
count:个数
mean:平均值
std:方差(标准差)
min:最小值
中位数:25%,50%,75%
pd.isnull().sum():查看每列存在的nan情况
pd.sample():实现数据集随机抽样 #sample是pandas库中DataFrame包中函数
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
参数解析:
n是要抽取的行数。(例如n=20000时,抽取其中的2W行)
frac是抽取的比列。(有一些时候,我们并对具体抽取的行数不关系,我们想抽取其中的百分比,这个时候就可以选择使用frac,例如frac=0.8,就是抽取其中80%)
replace:是否为有放回抽样,取replace=True时为有放回抽样。
weights这个是每个样本的权重,具体可以看官方文档说明。
axis是选择抽取数据的行还是列。axis=0的时是抽取行,axis=1时是抽取列(也就是说axis=1时,在列中随机抽取n列,在axis=0时,在行中随机抽取n行)
pd.skew():求偏度。统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。偏度(Skewness)亦称偏态、偏态系数。
Definition:是描述数据分布形态的统计量,其描述的是某总体取值分布的对称性,简单来说就是数据的不对称程度。
DataFrame.skew(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
参数解析:
axis : {index (0), columns (1)}:定义计算的轴
skipna : boolean, default True:计算时是否忽略空缺值,默认忽略
level : int or level name, default None:(用的比较少)
numeric_only : boolean, default None:(用的比较少)
计算公式:
S k e w n e s s = E [ ( ( x − E ( x ) ) / ( D ( x ) ) ) 3 ] Skewness=E[((x-E(x))/(\sqrt{D(x)}))^3] Skewness=E[((x−E(x))/(D(x)))3]
| Skewness | 越大,分布形态偏移程度越大。
偏度是三阶中心距计算出来的。
(1)Skewness = 0 ,分布形态与正态分布偏度相同。
(2)Skewness > 0 ,正偏差数值较大,为正偏或右偏。长尾巴拖在右边,数据右端有较多的极端值。
(3)Skewness < 0 ,负偏差数值较大,为负偏或左偏。长尾巴拖在左边,数据左端有较多的极端值。
(4)数值的绝对值越大,表明数据分布越不对称,偏斜程度大。
pd.kurt():求峰度
Definition:偏度是描述某变量所有取值分布形态陡缓程度的统计量,简单来说就是数据分布顶的尖锐程度。
计算公式:
K u r t o s i s = E [ ( ( x − E ( x ) ) / ( ( D ( x ) ) ) ) 4 ] − 3 Kurtosis=E[ ( (x-E(x))/ (\sqrt(D(x))) )^4 ]-3 Kurtosis=E[((x−E(x))/((D(x))))4]−3
峰度是四阶标准矩计算出来的。
(1)Kurtosis=0 与正态分布的陡缓程度相同。
(2)Kurtosis>0 比正态分布的高峰更加陡峭——尖顶峰
(3)Kurtosis<0 比正态分布的高峰来得平台——平顶峰
DataFrame.corr():计算列与列之间的相关系数,返回相关系数矩阵
DataFrame.corr(method=‘pearson’, min_periods=1)
参数解析:
method : {‘pearson’, ‘kendall’, ‘spearman’}
pearson : standard correlation coefficient
kendall : Kendall Tau correlation coefficient
spearman : Spearman rank correlation
解释:相关系数的取值范围为[-1, 1],当接近1时,表示两者具有强烈的正相关性,比如‘s’和‘x’;当接近-1时,表示有强烈的的负相关性,比如‘s’和‘c’,而若值接近0,则表示相关性很低.
pandas.melt():图像可视化
pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)
参数解析:
frame:要处理的数据集。
id_vars:不需要被转换的列名。
value_vars:需要转换的列名,如果剩下的列全部都要转换,就不用写了。
var_name和value_name是自定义设置对应的列名。
col_level :如果列是MultiIndex,则使用此级别。
msno.matrix():显示出缺失值的无效矩阵
msno.bar():显示条形图
msno.heatmap():显示热图
msno.dendrogram():显示树状图
导入matplotlib:
import matplotlib.pyplot as plt
fig = plt.figure():
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=Figure, clear=False, **kwargs)
参数解析:
参数 | 默认值 | 含义 |
---|---|---|
num | 用来设定figure名称。系统默认按数字升序命名的figure_num(透视表输出窗口)e.g. “figure1”。可自行设定figure名称,名称或是INT,或是str类型 | |
figsize | tuple of integers, optional, default: None | 设定figure尺寸,以英寸为单位的宽高,缺省值为 rc figure.figsize (1英寸等于2.54厘米) |
width | height in inches. If not provided, defaults to rc figure.figsize | 宽 |
dpi | 100 | 设定figure像素密度,dpi越大,图形越大 |
facecolor | 默认白色 | 背景色 |
edgecolor | 系统默认绘制轮廓 | 边框颜色 |
frameon | bool, optional, default: True | 默认值True为绘制边框,如果为False则不绘制边框 |
Figureclass | 不使用 | 设定使不使用一个figure模板 |
clear | False | 设定当同名figure存在时,是否替换它。系统默认False,即不替换 |
num:如果此参数没有提供,则一个新的figure对象将被创建,同时增加figure的计数数值,此数值被保存在figure对象的一个数字属性当中。如果有此参数,且存在对应id的figure对象,则激活对于id的figure对象。如果对应id的figur对象不存在,则创建它并返回它。如果num的值是字符串,则将窗口标题设置为此字符串
matplotlib.pyplot.hist()
:matplotlib.pyplot.hist(x, bins=10, range=None, normed=False,weights=None, histtype=u'bar', align=u'mid', orientation=u'vertical', cumulative=False, rwidth=None, log=False, color=None, label=None, stacked=False, bottom=None,hold=None, **kwargs)
参数解析:
x : (n,) array or sequence of (n,) arrays
这个参数是指定每个bin(箱子)分布的数据,对应x轴
bins : integer or array_like, optional
这个参数指定bin(箱子)的个数,也就是总共有几条条状图
normed : boolean, optional
If True, the first element of the return tuple will be the counts normalized to form a probability density, i.e.,n/(len(x)`dbin)
这个参数指定密度,也就是每个条状图的占比例比,默认为1
True为频率图,False为频数图
color : color or array_like of colors or None, optional
这个指定条状图的颜色
导入seaborn:
import seaborn as sns
sns.distplot(x,kde=False,fit=stats,gamma):拟合参数分布
暂时先写这么多,后面有用到再补充!