正在开发及维护一个自己的python库,主要会写一些自己平时常用的小模块,方便直接调用。会把小模块的demo记录在这里,方便查询及分享。(注:所有demo均基于Random函数随机生成的数据,所以不代表任何实际含义。)
知乎视频www.zhihu.comAcknowledge: {pypi}
python setup.py sdist bdist_wheel
twine upload dist/*
等有空再给package写个文档:
Overview - Sphinx 4.0.0+ documentationwww.sphinx-doc.org Styling Your Docs - MkDocswww.mkdocs.orgdocs()
- (显示Package内所有模块)
cmd()
- (显示一些基础常用命令)
colorlist()
- (显示颜色列表,画图时需要经常参照)
colormap()
- (显示颜色图谱,画图时需要经常参照)
bsfcmap(df, speed_name, torque_name, bsfc_name, title, level)
- (汽油车比油耗BSFC图,用来分析车辆的最佳油耗区.)
dutycycle(df, speed_name, torque_name, stepx, stepy, bubblesize, title)
- (汽车行驶工况图,主要用于分析司机驾驶行为)
dutycycle3d(df,speed_name, torque_name, barnum, title)
- (汽车行驶三维工况图)
map()
- (调用原始高精度地图)
map01(df, province, parameter_x, method) | (max,min,mean,median,sum,std_err)
- (在高精度地图上体现某些参数的特定指标,按地理位置分布的最大、最小、均值、求和、标准差等)
boxplot01(df, parameter_name, title)
- (基础箱线图,添加了5个边界线对应数值,及均值标准差)
boxplot02(df, title)
- (多维箱线图,在每个维度上增加了均值和标准差)
boxplot03(df, category_x_name, value_y_name, title)
- (不同类别同一维度的对比箱线图)
dfprofile(df)
- (生成一份描述性统计数据质量报告)
hist01(df, parameter_name, bins, title)
- (基础直方图)
hist02(df1, parameter_name1, df2, parameter_name2, bins, title)
- (两个维度对比直方图)
hist03(df1, parameter_name1, bins, title)
- (直方图+正态分布概率密度曲线,并体现曲线对应的均值及标准差)
hist04(df1, parameter_name1, df2, parameter_name2, bins, title)
- (多维度直方图+正态分布概率密度曲线,体现均值及标准差)
line01(df, x_parameter, y_parameter, title)
- (基础折线图)
line02(df, x_parameter, title)
- (多维折线图,默认显示数据集内所有的数值型维度)
line03(df, x_parameter, y_parameter, category_parameter, title)
- (一维多类对比折线图)
bar01(df, parameter_x, title)
- (基础柱状图)
bar01h(df, parameter_x, title)
- (基础横向柱状图)
bar02(df, parameter_x, parameter_category, title)
- (不同类别层级柱状图分布)
bar03(df, parameter_x, parameter_y, method, title) | (method(sum/mean/median,max,min,std))
- (一维统计柱状图,按类别要求统计单一维度的特定指标(求和,均值,中位数,最大值,最小值,标准差))
bar04(df, parameter_x, parameter_y, method, title) | method(std_err,ci)
- (用于表示参数均值分布及误差带(标准差或95%置信区间))
pie(df, parameter, title)
- (基础饼图及占比)
scatter01(df, parameter_x, parameter_y, title)
- (基础散点图)
scatter02(df, parameter_x, parameter_y, parameter_z, bubblesize, title)
- (气泡图,三个维度显示变量,第三个维度作为气泡大小的指标)
scatter03(df, parameter_x, parameter_y, category, title)
- (多类对比散点图)
scatter04hist(df, parameter_x, parameter_y, bins, title)
- (散点图+直方图)
scatter05box(df, parameterx, parameter_y, title)
- (散点图+箱线图)
scatter06histlr(df, parameter_x, parameter_y, bins, title)
- (散点图+直方图+线性回归拟合)
scatter07boxlr(df, parameter_x, parameter_y, title)
- (散点图+箱线图+线性回归拟合)
scatter08lrci(df, parameterx, parameter_y, title)
- (用于表示散点图的线性回归拟合及其误差带范围(用95%置信区间表示))
scatter09lr6sigma(df, parameter_x, parameter_y, sigma, title)
- (用于表示散点图的线性回归拟合及其误差带范围 (用±sigma区间表示,±1sigma, ±2sigma, ±3sigma示例))
normaltest(targetlist)
- (用于检验某个参数的正态性分布,基于Q-Q图的原理。设定p值小于0.05,拒绝原假设,不符合正态性;p值大于0.05,符合正态性。如下图一不符合正态性,图二符合正态性(通过stats.norm.rvs(loc=0, scale=100, size=100)生成的数据))
- (Q-Q图(Quantile),又称分位图,是在统计学中,通过比较两个概率分布的分位数对这两个概率分布进行比较的概率图方法。横纵坐标:分布拟合曲线的百分位累计值 (y轴-样本的分布范围,x轴-标准正态分布下的z-score))
parallel(df, category, title)
- (平行坐标图:有助于可视化特征是否可以做为类别区分的有效特征。如果实现隔离,则表明该特征在对该类别预测时非常有用。如demo中的'diff'特征,可以有效区分car的类别。df中保留除category这个类别变量外,其他均保留数值型特征。)
heatmap(df, title)
- (热力矩阵图/相关性图,可以直接看出数据集中所有数值型变量对两两之间的相关性度量。df输入不需要单独做特殊处理,会自动过滤掉类别特征。)
matrix01(df, other_matrix_type, upperleft_diag_matrix_type)
- (多维矩阵图/匹配图,分别定义左上角对角线图形类别和其他块对应的图表类别。scatter / hist / kde,KDE(Kernel Density Estimation)-核密度估计,是一种用来估计概率密度函数的非参数方法。matrix01包含三个方法:①scatter+hist; ②scatter+kde; ③kde+kde.)
matrix02(df, category, other_matrix_type, upperleft_diag_matrix_type):
- (在matrix01基础上,加上了类别分类,同样也包含三个方法:①scatter+hist; ②scatter+kde; ③kde+kde.)
line04(df, parameterx, parametery, std_method, gap, title)
- (绘制带误差带的线型图。误差带两种表示方法:①按照x轴每个点对应的所有y值进行单独聚合得到标准差,如果某个x对应1个y值,则无误差带( std_method ='m1' ) ②将所有的y值来计算得到一个标准差(std_method='m2')。gap表示x轴所有点中,隔多少个来点取值体现在图上x轴上.)
network01(df, entity1, entity2, relation, nodesize, fontsize, layout)
- (网络关系图:可视化显示实体1和实体2之间的相互关系。使用细节:df按顺序依次保留entity1, entity2, relation这三列,nodesize - 实体大小,fontsize - 关系字体大小, 网络图布局layout - circular / spiral / else(concentric circles))
- (官方文档:NetworkX — NetworkX documentation)
network02(df,entity1,entity2,relation)
- (动态网络关系图:每个节点可以拖拽,节点连线会显示关系属性,节点拖拽过程中有力场效应。df中依然依次保留两个实体和其相互作用关系,将网络关系图demo数据(上图)绘制的结果展示效果如下图)
- (官方文档:Interactive network visualizations — pyvis 0.1.3.1 documentation)
[专栏目录] 数据分析&数据产品 {@_@} - 知乎 (zhihu.com)