加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据量太大?用Python处理数据密度过大障碍

发布时间:2021-05-27 15:42:14 所属栏目:大数据 来源:互联网
导读:副标题#e# 当我们需要观察比较2个变量间的关系时,散点图是我们首选图表。 可当数据量非常大,数据点又比较集中在某个区间中,图表没法看,密密麻麻的怎么看? 怎么办?这时候就得看密度图了 什么是密度图? 所谓的密度图 (Density Plot) 就是数据的分布稠密情

                  gridsize=num_bins,                               # 设置六边形的大小 

                  cmap="Blues"                                     # 设置颜色组合 

                 ) 

 

fig.colorbar(axes_1,ax=axes[0][1])                                 # 设置颜色显示条 

 

# 第三个子图,我们画出2D直方图。 

# 我们您需要分析两个数据量比较大的数值变量关系时,2D直方图非常有用,它可以避免在散点图中出现的的数据密度过大问题 

num_bins = 50 

axes[1][0].set_title('2D 直方图') 

axes_2 = axes[1][0].hist2d(Financial_data['材料'], Financial_data['管理'],  

                  bins=(num_bins,num_bins),  

                  cmap="Blues") 

 

# fig.colorbar(axes_2,ax=axes[1][0]) 

 

  

# 第四个子图,我们画出高斯核密度图 

# 考虑到想研究具有很多点的两个数值变量之间的关系。可以考虑绘图区域每个部分上的点数,来计算2D内核密度估计值。 

# 就像平滑的直方图,这个方法不会使某个点掉入特定的容器中,而是会增加周围容器的权重,比如颜色会加深。 

k = kde.gaussian_kde(Financial_data.loc[:,['材料','管理']].values.T)           # 进行核密度计算 

xi, yi = np.mgrid[Financial_data['材料'].min():Financial_data['材料'].max():num_bins*1j, Financial_data['管理'].min():Financial_data['管理'].max():num_bins*1j] 

zi = k(np.vstack([xi.flatten(), yi.flatten()])) 

 

axes[1][1].set_title('高斯核密度图') 

axes_3 = axes[1][1].pcolormesh(xi,  

                      yi,  

                      zi.reshape(xi.shape),  

                      cmap="Blues") 

 

fig.colorbar(axes_3,ax=axes[1][1])                                  # 设置颜色显示条 

 

# 第五个子图,我们画出带阴影效果的2D密度图 

axes[2][0].set_title('带阴影效果的2D密度图') 

axes[2][0].pcolormesh(xi,  

                      yi,  

                      zi.reshape(xi.shape),  

                      shading='gouraud',  

                      cmap="Blues") 

  

# 第六个子图,我们画出带轮廓线的密度图 

axes[2][1].set_title('带阴影+轮廓线的2D密度图') 

axes_5 = axes[2][1].pcolormesh(xi,  

                      yi,  

                      zi.reshape(xi.shape),  

                      shading='gouraud',  

                      cmap="Blues") 

 

fig.colorbar(axes_5,ax=axes[2][1])                                  # 设置颜色显示条 

 

# 画出轮廓线 

axes[2][1].contour(xi,  

                   yi,  

                   zi.reshape(xi.shape)) 

 

plt.show() 

 

 

特别提一下:2D核密度估计图

 

 

sns.kdeplot(Financial_data['材料'],Financial_data['管理']) 

sns.despine() # 默认无参数状态,就是删除上方和右方的边框,matplotlib貌似做不到  

 

sns.kdeplot(Financial_data['材料'],Financial_data['管理'], 

            cmap="Reds",  

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!