开发者学堂课程【Python 常用数据科学库:结合 pandas 与 sklearn】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/546/detail/7510
结合 pandas 与 sklearn
首先引入需要用到的库,构造一个 df,随意购造出数据之后,基于这些指标画图,同样也是画条形图,只不过比较特殊。指定指标之后考虑是否进行堆叠,可以通过STACKED 的进行堆叠。先不进行堆叠。代码如下:
fig.ax = plt.subplots()
df.plot.bar(ax=ax)
plt.show()
图像如下:
但是在这个指标里,一共有20个数据,所以 X 轴有20个,但堆的地方比较挤,现在只有123画出来了,整体什么样子不清楚。所以就需要加上指标进行堆叠。于是加入代码:stacked=(True)
,执行之后的结果就是原来的123是分开写的,现在不是分开写的,是堆在一起的。堆叠起来之后,不仅可以单独看,也可以看现在整体的情况了,这也就是堆叠的功能。有了整体情况之后,就得到了指标。这也就是 bar 图如何看堆叠的情况。如果想关心各个 condition 占的百分比,比如说0的数据里面,condition 123分别所占的情况,因为高度不一样,很难统计各自百分比的情况。所以如果想统计0到20红色蓝色绿色分别的百分比情况,此时就可以借助另外一个工具。先导入工具,设置一下 AX,刚才导入的工具就可以用来做百分比。对 Y 轴的指标进行调节,代码如下:
from matplotlib.ticker import FuncFormatter
df_ratio = df.div(df. sun(axis=1),axis=0)
fig.ax =plt.subplots()
df_ratio.plot.bar(ax=ax,stacked=True)
ax.yaxis.set_major_formatter(FuncFormatter(lanbda y._:'(:0.5)'.format(y)))
plt.show()
执行如上代码之后图像如下:
由图可以看到它们图像都是一样高度,就可以看出所占的百分比。还可以再把一段数据拿出来在 pandas 当中直接读 UR 指定位置,把 DF 复制之后,直接进行读取,就基于这些数据画图。在这些数据当中有一些缺失值,Imputer 可以自动根据均值来进行缺失值的填充。用其进行处理数据之后。就可以进行画图了。 PC 就是主城分析,如果想做主城分析,就先导入包,PC 的意思就是在特征当中有很多特征,但并不见得36列当中都是有用的,可以看一下按照什么样的维度进行映射,出来一个更好的数据,这就是 PC。首先先指定 features,在 SK learn 当中执行,一个操作就相当于直接引入包。先打印前3个特征,这些都是 SK learn 当中的内部函数。然后直接复制构造 figure,转化为 3D 格式。 3D 图画散点图,原始特征有36位,做 PC 之后相当于得到了新的结果。也就可以把3维数据传进去,得到 3D 图。图像如下:
也就是说,SK learn 可以和 pandas 还有之后的工具包都结合在一起,之后还会提到Saber ,Saber 这个东西更为方便。画一个图,很多细节需要自己设置,如果不设置就没有。但是在 Saber 当中细节的设置相对来说就会更简单,因为其会提供模板。