php网站开发视频网站,刚做的网站多久能被搜索到,南阳网站排名,做网站哪个软件好用大家好#xff0c;本文将围绕python命令大全及说明展开说明#xff0c;python命令大全下载是一个很多人都想弄明白的事情#xff0c;想搞清楚python简单命令语句需要先了解以下几个事情。 Python有哪些常用但容易忘记的命令#xff1f; 1 如何忽略报错信息2 Python常见绘图…大家好本文将围绕python命令大全及说明展开说明python命令大全下载是一个很多人都想弄明白的事情想搞清楚python简单命令语句需要先了解以下几个事情。 Python有哪些常用但容易忘记的命令 1 如何忽略报错信息2 Python常见绘图系列代码 2.1 绘制对比箱线图2.2 分区绘制图形2.3 绘制相关系数图热图2.4 绘制计数的条形图countplot2.5 直方图和核密度图的合体distplot3 绘图函数封装 3.1 1×2的直方图封装3.2 1×2的对比箱线图封装3.3 1×2的【1对数】对比箱线图封装3.4 统计量计算的函数封装4 如何取消科学计数法5 删去几倍标准差之外的离群值 5.1 单变量独自剔除5.2 滚动剔除6 参考 1 如何忽略报错信息 import warnings
warnings.filterwarnings(ignore)2 Python常见绘图系列代码 在数据分析的过程中经常会遇到一个很麻烦的问题就是中文无法显示这个困难真的会困扰很多同学包括我在内还好终于找到了问题的解决办法在之前的一篇博客中已经涉及到了详情戳机器学习 | 特征重要性判断 下面就详细分开的说下每种图该怎么画 2.1 绘制对比箱线图 参数 直接x和y即可。x表示分类型变量y表示数值型变量data表示数据框如果绘图希望箱子有顺序就加上order这个参数 p1 sns.boxplot(x type_now, y 7_active_days, datadf, order[高活,中活,低活,不活])
plt.savefig(plot/3-1.png)
plt.show()注倒数第二行的命令是保存图片具体看需求最后一个命令是显示图片python使用turtle函数绘制树图形。有时候jupyter无法显示图片还得再运行一下ok有点玄学不过在命令框的前面加上一个魔法命令就可以解决了 %matplotlib inline绘制后的效果见下图 2.2 分区绘制图形 有时候希望画成1×2 或者 2×1的图形具体如何实现呢 代码 f, (ax1,ax2) plt.subplots(1, 2, figsize(10, 6))
sns.distplot(df[event_columnx], axax1)
sns.distplot(df[event_columnx_now], axax2)
plt.savefig(plot/3-4.png)
plt.show()参数 首先是plt.subplots 注意有s 其中1 2 表示1行2列即第一个参数为行数第二个参数为列数。figsize调节大小。在分图中加入参数ax即axax1或者ax2 表示具体位置 效果 2.3 绘制相关系数图热图 import seaborn as sns
import matplotlib.pyplot as plt
def test(df):dfData df.corr()plt.subplots(figsize(9, 9)) # 设置画面大小sns.heatmap(dfData, annotFalse, vmax1, squareTrue, cmapBlues)plt.savefig(./相关系数图.png)plt.show()绘图后效果见下图 2.4 绘制计数的条形图countplot 先上图 起到的作用 统计分类型变量1不同水平下各自有分类变量2的频数。绘制条形图是不是有点绕看上面的图就懂了还是很强的一个绘图函数 代码 ax sns.countplot(x type, hue type_now, data df, order[高活,中活,低活,不活])
plt.savefig(plot/3-1-2.png)
plt.show()参数 x表示分类型变量1hue表示分类型变量2data数据框order表示分类变量1的顺序 补充 对于上图中标签和图形重叠在一起有一种解决方式是调大图形的长和宽具体见下图 一开始加一行代码即可 # 调整figsize
f, ax plt.subplots(figsize(12, 8))2.5 直方图和核密度图的合体distplot 代码 f, ax plt.subplots(figsize(10, 8))
sns.distplot(df[session_count], kdeTrue)
plt.savefig(plot/3-3-3.png)
plt.show()效果 参数 kdeTrue 表示核密度估计的曲线也画出来直接displot 3 绘图函数封装 3.1 1×2的直方图封装 代码 def PlotHis2(col1, col2, pic_name):# 函数作用绘制1×2的直方图# col1表示变量1# col2表示变量2# pic_name图片保存后的名称# 注其实更合适一点是加入数据框的名称import numpy as npnp.set_printoptions(suppressTrue)f, (ax1,ax2) plt.subplots(1, 2, figsize(10, 6))sns.distplot(df[col1], axax1)sns.distplot(df[col2], axax2)plt.savefig(plot/ pic_name .png)plt.show()效果见下图 3.2 1×2的对比箱线图封装 代码 def PlotBox2(col1, col2, pic_name):# 函数作用绘制1×2的直方图# col1表示变量1# col2表示变量2# pic_name图片保存后的名称# 注其实更合适一点是加入数据框的名称import numpy as npnp.set_printoptions(suppressTrue)f, (ax1,ax2) plt.subplots(1, 2, figsize(10, 6))sns.boxplot(x type_now, ycol1, datadf, axax1, order[高活,中活,低活,不活])sns.boxplot(x type_now, ycol2, datadf, axax2, order[高活,中活,低活,不活])plt.savefig(plot/ pic_name .png)plt.show()效果见下图 3.3 1×2的【1对数】对比箱线图封装 代码 import numpy as np
def to_log(x):return np.log(1x)def PlotBoxLog2(col1, col2, pic_name):f, (ax1,ax2) plt.subplots(1, 2, figsize(10, 6))log_col1 log_ col1log_col2 log_ col2df[log_col1] df[col1].map(to_log)df[log_col2] df[col2].map(to_log)sns.boxplot(x type_now, ylog_col1, datadf, axax1, order[高活,中活,低活,不活])sns.boxplot(x type_now, ylog_col2, datadf, axax2, order[高活,中活,低活,不活])plt.savefig(plot/ pic_name .png)plt.show()效果见下图 3.4 统计量计算的函数封装 代码 def CalVar(col1, col2):import numpy as npnp.set_printoptions(suppressTrue)cols [col1, col2]for col in cols:print(变量 %s 描述统计计算结果如下 % col)print(df[col].describe())print(--------********-------)代码执行层面 CalVar(event_columnx, event_columnx_now)实现效果 4 如何取消科学计数法 import numpy as np
np.set_printoptions(suppressTrue)5 删去几倍标准差之外的离群值 5.1 单变量独自剔除 函数代码 def RemoveValue_sole(df_model, col, s):# 其中s作用是统计总共有多少行记录被删去r1 df_model.shape[0]v_mean df_model[col].mean()v_std df_model[col].std()thrhol v_mean 10 * v_stddf_model df_model[df_model[col]thrhol]r2 df_model.shape[0]s s r1 - r2print(列 %s 删除10倍以上标准差的数值 共删除的行数为 %d % (col, r1-r2))return s实现剔除代码 s 0
for col in model_col:# 其中model_col为事先定义好的需要剔除异常值的变量s RemoveValue_sole(df_model, col, s)
print(s)实现效果见下 可以看到总共是4027个被单独剔除但是df_model好像是不动的 5.2 滚动剔除 啥叫滚动剔除就是一个变量异常值被剔除之后在这个被剔除异常值的数据框的基础之上再考虑下一个变量继续下去应用相较于第一种应该是广泛的 代码 def RemoveValue(df_model, col):r1 df_model.shape[0]v_mean df_model[col].mean()v_std df_model[col].std()thrhol v_mean 10 * v_stddf_model df_model[df_model[col]thrhol]r2 df_model.shape[0]print(列 %s 删除10倍以上标准差的数值 共删除的行数为 %d % (col, r1-r2))return df_model滚动剔除代码 for col in model_col:df_model RemoveValue(df_model, col)# 每一次赋值返回均为df_model 这样就能起到滚动的作用
print(df_model.shape)实现效果见下 6 参考 https://www.cnblogs.com/noahzn/p/4133252.htmldisplot参考https://www.jianshu.com/p/844f66d00ac1mac的jupyter绘图中文如何显示机器学习 | 特征重要性判断_机器学习特征重要性排序-CSDN博客