还记得豆瓣电影TOP250的详情吗? 二十几个场中,一个场是每部电影贴上最多的标签。
如果想学习更多的可视化知识,可以在我的历史事件中查阅“从零开始学习Python可视化”系列、“7天学习Python最佳可视化工具Seaborn”系列、“一天一图学习Python可视化”系列等更多的共享。 同时,分享爬虫、数据分析和挖掘、机器学习等知识,欢迎有兴趣的同学关注我!
要查看哪些标签最多(实际上是分类变量,每个标签都是分类之一),您可以使用条形图。 但是,标签太多的话,展示的效果非常差,所以先看看吧。
fromcollectorsionsimportcompontimportmatplottlib.pyplotasplt # #列表tags = reduce(lambda x,y: x + y,df.tags)##生成统计术语,分割键值,计算机=计算机 的双曲馀弦值。 四百多个分类聚在一起,什么也看不见。 如果这种分类特别多,我们该怎么办呢?
一个好的解决办法是运用语言云图。 现在,让我们看一下语言云图的效果
froffunctoolimportreducefromwordcloudimportwordcloudtags = reduce ( lambdx,y:x + y df.tags ) result = '.join ( tags ) WC = word cloud ( font _ path ) #字体background_color='white ',背景色width=1000,height=500,max_font_size=100 #字体大小min_font_size=10, max _ words = 100 ) WC.generate ( result ) PLT.figure ( '豆瓣电影标签',' fig size = ( 16,8 ) ) PLT.im show ( WC ) PLT.axis ( ' off ' ) PLT.show ( ) 00003000变得更加美观 哪个标签多,哪个标签少,一目了然。
事实上,语云图最重要的应用场景不是用于处理一般的分类变量。 由名字可以看出,用语言构成的云图常常用来表示文章中不同词语(文字、单词)的使用频率,如果我们的数据是原始的文章字符串,我们一般会使用ba分词,去除无效词语(例如,嗯、嗯等语气词语),然后把我们的
接下来,我们将详细讨论以下代码
第一步是引入了所需的库。
第二步将数据转换为所需的格式。 wordcloud需要用空格连接各单词之间的字符串。 我们不必提供词数等统计,只要用空格分隔原始单词输入即可,它会自动进行必要的统计。 因为我们的数据是pandas DataFrame格式,所以标签是该列,列表格式。 因此,将所有列表追加合并到一个列表中,使用字符串的join方法连接整个字符串。
在步骤3中,创建WordCloud对象。 在此处指定中文字体(默认情况下,WordCloud不支持中文,因此为必需字体),将背景颜色设置为白色,并设置宽度和字体大小范围。 最后,设定最多只剩下100个单词。 然后,使用WordCloud对象拟合数据。
步骤4设定图形大小,使用plt.imshow ( )读取影像资料,删除座标轴,显示影像。
在文字云图中,还可以设置图形的形状(为mask参数指定特定形状的图像文件)。 这使我们的图片更有趣。
你记住了吗?