數據科學 | Python酷炫詞雲圖原來可以這麼玩

2021-02-20 運籌OR帷幄

詞雲圖是文本挖掘中用來表徵詞頻的數據可視化圖像,通過它可以很直觀地展現文本數據中地高頻詞。詞雲圖過濾掉大量的低頻低質的文本信息,使得瀏覽者只要一眼掃過文本就可領略文本的主旨。很多文章都會用詞雲圖來直觀的表示數據分析結果,詞雲圖是如果製作的就在這篇文章中尋找答案吧。

本文對應腳本及數據已上傳至我的Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes

詞雲圖是文本挖掘中用來表徵詞頻的數據可視化圖像,通過它可以很直觀地展現文本數據中地高頻詞:

在Python中有很多可視化框架可以用來製作詞雲圖,如pyecharts,但這些框架並不是專門用於製作詞雲圖的,因此並不支持更加個性化的製圖需求,要想創作出更加美觀個性的詞雲圖,需要用到一些專門繪製詞雲圖的第三方模塊,本文就將針對其中較為優秀易用的wordcloud以及stylecloud的用法進行介紹和舉例說明。

wordcloud是Python中製作詞雲圖比較經典的一個模塊,賦予用戶高度的自由度來創作詞雲圖:

這裡我們使用到來自wordcloud官方文檔中的constitution.txt來作為可視化的數據素材:

首先我們讀入數據並將數據清洗成空格分隔的長字符串:

import re

with open('constitution.txt') as c:
    '''抽取文本中的英文部分並小寫化,並將空格作為分隔拼接為長字符串'''
    text = ' '.join([word.group().lower() for word in re.finditer('[a-zA-Z]+', c.read())])

'''查看前100個字符'''
text[:500]

接著使用wordcloud中用於生成詞雲圖的類WordCloud配合matplotlib,在默認參數設置下生成一張簡單的詞雲圖:

from wordcloud import WordCloud
import matplotlib.pyplot as plt
%matplotlib inline

'''從文本中生成詞雲圖'''
wordcloud = WordCloud().generate(text)
plt.figure(figsize=[12, 10])
plt.imshow(wordcloud)
plt.axis('off')
plt.show()

畢竟是在默認參數下生成的詞雲圖,既醜陋又模糊,為了繪製好看的詞雲圖,接下來我們來對wordcloud繪製詞雲圖的細節內容進行介紹,並不斷地對圖5進行升級改造。

作為wordcloud繪製詞雲圖最核心的類,WordCloud的主要參數及說明如下:

font_path:字符型,用於傳入本地特定字體文件的路徑(ttf或otf文件)從而影響詞雲圖的字體族
width:int型,用於控制詞雲圖畫布寬度,默認為400
height:int型,用於控制詞雲圖畫布高度,默認為200
prefer_horizontal:float型,控制所有水平顯示的文字相對於豎直顯示文字的比例,越小則詞雲圖中豎直顯示的文字越多
mask:傳入蒙版圖像矩陣,使得詞雲的分布與傳入的蒙版圖像一致
contour:float型,當mask不為None時,contour參數決定了蒙版圖像輪廓線的顯示寬度,默認為0即不顯示輪廓線
contour_color:設置蒙版輪廓線的顏色,默認為'black'
scale:當畫布長寬固定時,按照比例進行放大畫布,如scale設置為1.5,則長和寬都是原來畫布的1.5倍
min_font_size:int型,控制詞雲圖中最小的詞對應的字體大小,默認為4
max_font_size:int型,控制詞雲圖中最大的詞對應的字體大小,默認為200
max_words:int型,控制一張畫布中最多繪製的詞個數,默認為200
stopwords:控制繪圖時忽略的停用詞,即不繪製停用詞中提及的詞,默認為None,即調用自帶的停用詞表(僅限英文,中文需自己提供並傳入)
background_color:控制詞雲圖背景色,默認為'black'
mode:當設置為'RGBA'且background_color設置為None時,背景色變為透明,默認為'RGB'
relative_scaling:float型,控制詞雲圖繪製字的字體大小與對應字詞頻的一致相關性,當設置為1時完全相關,當為0時完全不相關,默認為0.5
color_func:傳入自定義調色盤函數,默認為None
colormap:對應matplotlib中的colormap調色盤,默認為viridis,這個參數與參數color_func互斥,當color_func有函數傳入時本參數失效
repeat:bool型,控制是否允許一張詞雲圖中出現重複詞,默認為False即不允許重複詞
random_state:控制隨機數水平,傳入某個固定的數字之後每一次繪圖文字布局將不會改變

了解了上述參數的意義之後,首先我們修改背景色為白色,增大圖床的長和寬,加大scale以提升圖片的精細程度,並使得水平顯示的文字儘可能多:

'''從文本中生成詞雲圖'''
wordcloud = WordCloud(background_color='white', # 背景色為白色
                      height=400, # 高度設置為400
                      width=800, # 寬度設置為800
                      scale=20, # 長寬拉伸程度設置為20
                      prefer_horizontal=0.9999).generate(text)
plt.figure(figsize=[8, 4])
plt.imshow(wordcloud)
plt.axis('off')
'''保存到本地'''
plt.savefig('圖6.jpg', dpi=600, bbox_inches='tight', quality=95)
plt.show()

可以看到相較於圖5,在美觀程度上有了很大的進步,接下來,我們在圖6的基礎上添加美國本土地圖蒙版:

利用PIL模塊讀取我們的美國本土地圖蒙版.png文件並轉換為numpy數組,作為WordCloud的mask參數傳入:

from PIL import Image
import numpy as np

usa_mask = np.array(Image.open('美國本土地圖蒙版.png'))

'''從文本中生成詞雲圖'''
wordcloud = WordCloud(background_color='white', # 背景色為白色
                      height=4000, # 高度設置為400
                      width=8000, # 寬度設置為800
                      scale=20, # 長寬拉伸程度程度設置為20
                      prefer_horizontal=0.9999,
                      mask=usa_mask # 添加蒙版
                     ).generate(text)
plt.figure(figsize=[8, 4])
plt.imshow(wordcloud)
plt.axis('off')
'''保存到本地'''
plt.savefig('圖8.jpg', dpi=600, bbox_inches='tight', quality=95)
plt.show(

可以看到圖8在圖6的基礎上進一步提升了美觀程度,接下來我們利用wordcloud中用於從圖片中提取調色方案的類ImageColorGenerator來從下面的星條旗美國地圖蒙版中提取色彩方案,進而反饋到詞雲圖上:

from PIL import Image
import numpy as np
from wordcloud import ImageColorGenerator

usa_mask = np.array(Image.open('美國地圖蒙版_星條旗色.png'))
image_colors = ImageColorGenerator(usa_mask)

'''從文本中生成詞雲圖'''
wordcloud = WordCloud(background_color='white', # 背景色為白色
                      height=400, # 高度設置為400
                      width=800, # 寬度設置為800
                      scale=20, # 長寬拉伸程度程度設置為20
                      prefer_horizontal=0.2, # 調整水平顯示傾向程度為0.2
                      mask=usa_mask, # 添加蒙版
                      max_words=1000, # 設置最大顯示字數為1000
                      relative_scaling=0.3, # 設置字體大小與詞頻的關聯程度為0.3
                      max_font_size=80 # 縮小最大字體為80
                     ).generate(text)

plt.figure(figsize=[8, 4])
plt.imshow(wordcloud.recolor(color_func=image_colors), alpha=1)
plt.axis('off')
'''保存到本地'''
plt.savefig('圖10.jpg', dpi=600, bbox_inches='tight', quality=95)
plt.show()

相較於英文文本語料,中文語料處理起來要麻煩一些,我們需要先進行分詞等預處理才能進行下一步的處理,這裡我們使用某外賣平臺用戶評論數據,先讀取進來看看:

import pandas as pd
import jieba

'''讀入原始數據'''
raw_comments = pd.read_csv('waimai_10k.csv');raw_comments.head()


接下來我們利用re、jieba以及pandas中的apply對評論列進行快速清洗:

'''導入停用詞表'''
with open('stopwords.txt') as s:
    stopwords = set([line.replace('\n', '') for line in s])

'''傳入apply的預處理函數,完成中文提取、分詞以及多餘空格剔除'''
def preprocessing(c):
    
    c = [word for word in jieba.cut(' '.join(re.findall('[\u4e00-\u9fa5]+', c))) if word != ' ' and word not in stopwords]

    return ' '.join(c)

'''將所有語料按空格拼接為一整段文字'''
comments = ' '.join(raw_comments['review'].apply(preprocessing));comments[:500]

這時我們就得到所需的文本數據,接下來我們用美團外賣的logo圖片作為蒙版繪製詞雲圖:

from PIL import Image
import numpy as np
from wordcloud import ImageColorGenerator

waimai_mask = np.array(Image.open('美團外賣logo蒙版.png'))
image_colors = ImageColorGenerator(waimai_mask)

'''從文本中生成詞雲圖'''
wordcloud = WordCloud(background_color='white', # 背景色為白色
                      height=400, # 高度設置為400
                      width=800, # 寬度設置為800
                      scale=20, # 長寬拉伸程度程度設置為20
                      prefer_horizontal=0.2, # 調整水平顯示傾向程度為0.2
                      mask=waimai_mask, # 添加蒙版
                      max_words=1000, # 設置最大顯示字數為1000
                      relative_scaling=0.3, # 設置字體大小與詞頻的關聯程度為0.3
                      max_font_size=80 # 縮小最大字體為80
                     ).generate(comments)

plt.figure(figsize=[8, 4])
plt.imshow(wordcloud.recolor(color_func=image_colors), alpha=1)
plt.axis('off')
'''保存到本地'''
plt.savefig('圖14.jpg', dpi=600, bbox_inches='tight', quality=95)
plt.show()

這時我們會發現詞雲圖上繪製出的全是亂碼,這是因為matplotlib默認字體是不包含中文的:

這時我們只需要為WordCloud傳入font_path參數即可,這裡我們選擇SimHei字體:

from PIL import Image
import numpy as np
from wordcloud import ImageColorGenerator

waimai_mask = np.array(Image.open('美團外賣logo蒙版.png'))
image_colors = ImageColorGenerator(waimai_mask)

'''從文本中生成詞雲圖'''
wordcloud = WordCloud(font_path='SimHei.ttf', # 定義SimHei字體文件
                      background_color='white', # 背景色為白色
                      height=400, # 高度設置為400
                      width=800, # 寬度設置為800
                      scale=20, # 長寬拉伸程度程度設置為20
                      prefer_horizontal=0.2, # 調整水平顯示傾向程度為0.2
                      mask=waimai_mask, # 添加蒙版
                      max_words=1000, # 設置最大顯示字數為1000
                      relative_scaling=0.3, # 設置字體大小與詞頻的關聯程度為0.3
                      max_font_size=80 # 縮小最大字體為80
                     ).generate(comments)

plt.figure(figsize=[8, 4])
plt.imshow(wordcloud.recolor(color_func=image_colors), alpha=1)
plt.axis('off')
'''保存到本地'''
plt.savefig('圖15.jpg', dpi=600, bbox_inches='tight', quality=95)
plt.show()


stylecloud是一個較為嶄新的模塊,它基於wordcloud,添加了一系列的嶄新特性譬如漸變顏色等,可以支持更為個性化的詞雲圖創作:

這裡我們沿用上一章節中使用過的處理好的text來繪製詞雲圖:

import stylecloud
from IPython.display import Image # 用於在jupyter lab中顯示本地圖片

'''生成詞雲圖'''
stylecloud.gen_stylecloud(text=text, 
                          size=512,
                          output_name='圖17.png')

'''顯示本地圖片'''
Image(filename='圖17.png') 


可以看出,styleword生成詞雲圖的方式跟wordcloud不同,它直接就將原始文本轉換成本地詞雲圖片文件,下面我們針對其繪製詞雲圖的細節內容進行介紹。

在stylecloud中繪製詞雲圖只需要gen_stylecloud這一個函數即可,其主要參數及說明如下:

text:字符串,格式同WordCloud中的generate()方法中傳入的text
gradient:控制詞雲圖顏色漸變的方向,'horizontal'表示水平方向上漸變,'vertical'表示豎直方向上漸變,默認為'horizontal'
size:控制輸出圖像文件的解析度(因為stylecloud默認輸出方形圖片,所以size傳入的單個整數代表長和寬),默認為512
icon_name:這是stylecloud中的特殊參數,通過傳遞對應icon的名稱,你可以使用多達1544個免費圖標來作為詞雲圖的蒙版,點擊這裡查看你可以免費使用的圖標蒙版樣式,默認為'fas fa-flag'
palette:控制調色方案,stylecloud的調色方案調用了palettable,這是一個非常實用的模塊,其內部收集了數量驚人的大量的經典調色方案,默認為'cartocolors.qualitative.Bold_5'
background_color:字符串,控制詞雲圖底色,可傳入顏色名稱或16進位色彩,默認為'white'
max_font_size:同wordcloud
max_words:同wordcloud
stopwords:bool型,控制是否開啟去停用詞功能,默認為True,調用自帶的英文停用詞表
custom_stopwords:傳入自定義的停用詞List,配合stopwords共同使用
output_name:控制輸出詞雲圖文件的文件名,默認為stylecloud.png
font_path:傳入自定義字體*.ttf文件的路徑
random_state:同wordcloud

對上述參數有所了解之後,下面我們在圖17的基礎上進行改良,首先我們將圖標形狀換成炸彈的樣子,接著將配色方案修改為scientific.diverging.Broc_3:

'''生成詞雲圖'''
stylecloud.gen_stylecloud(text=text, 
                          size=1024,
                          output_name='圖18.png',
                          palette='scientific.diverging.Broc_3', # 設置配色方案
                          icon_name='fas fa-bomb' # 設置圖標樣式
                         )

'''顯示本地圖片'''
Image(filename='圖18.png') 

在wordcloud中繪製中文詞雲圖類似wordcloud只需要注意傳入支持中文的字體文件即可,下面我們使用一個微博語料數據weibo_senti_100k.csv來舉例:

weibo = pd.read_csv('weibo_senti_100k.csv')
weibo_text = [word for word in jieba.cut(' '.join(re.findall('[\u4e00-\u9fa5]+', ' '.join(weibo['review'].tolist())))) if word != ' ' and word not in stopwords]
weibo_text[:10]

圖19

接著我們將蒙版圖標樣式換成新浪微博,將色彩方案換成colorbrewer.sequential.Reds_3:

'''生成詞雲圖'''
'''生成詞雲圖'''
stylecloud.gen_stylecloud(text=' '.join(weibo_text), 
                          size=1024,
                          output_name='圖20.png',
                          palette='colorbrewer.sequential.Reds_3', # 設置配色方案為https://jiffyclub.github.io/palettable/colorbrewer/sequential/#reds_3
                          icon_name='fab fa-weibo', # 設置圖標樣式
                          gradient='horizontal', # 設置顏色漸變方向為水平
                          font_path='SimHei.ttf',
                          collocations=False
                         )

'''顯示本地圖片'''
Image(filename='圖20.png') 


作者:費弗裡

出處:https://www.cnblogs.com/feffery/p/11842798.html

版權:本文採用「署名-非商業性使用-相同方式共享 4.0 國際」知識共享許可協議進行許可。

由於微信群500人的人數限制,以及微信、QQ群群聊的基本屬性,『運籌OR帷幄』社區也在社區交流方面做新的探索和嘗試--知識星球便是第一步!知識星球採用了論壇的形式,更利於學術話題的探討。並且沒有人數上限,因此將被作為『運籌OR帷幄』40+碩博微信群和5個千人QQ群的合集(群內優質的學術討論會被共享至知識星球)。希望大家踴躍加入『運籌OR帷幄』算法知識星球(文末二維碼付費加入或在碩博微信群等待不定期的免費連結),並在星球發表和討論學術/業界/申請/求職等算法相關話題。如果星球內提問2天內無人解答,工作人員會將問題共享至相關微信和QQ群搜集答案!

隨著算法相關專業熱度的提升,考研讀博、留學申請、求職的難度也在相應飆升,『運籌OR帷幄』建立了【算法社區】知識星球,涵蓋運籌學、數據科學、人工智慧、管理科學、工業工程等相關專業,集結社區40W+專業受眾的力量,提供給大家一個共同的學習交流平臺,結交志同道合的夥伴。

● 依託『運籌OR帷幄』40w+專業受眾和40+細分領域碩博微信群的算法技術交流

● 與國內外Top名校教授|博士和名企研發高管一起交流算法相關技術乾貨

● 海量學界|業界(獨家內推)招聘|實習機會發布,申請|求職面試經驗交流

● 數學模型|算法|論文|學習資料分享與提問,倡導同行交流,尋找志同道合的「隊友」

● 每月開展一次「人氣話題」和「人氣回答」評選,百元紅包獎勵分享和互動

● 每月一次「領讀人」帶隊Paper|教學視頻|原創技術推文等線上Meetup小組學習

● 享受『運籌OR帷幄』各大城市線下Meetup免費入場資格,拓展人脈

運籌帷幄「pandas實戰教程」電子書正式上線啦!如今的網際網路時代,數據成為了一座巨大的金礦。掌握數據的獲取、處理和分析已經成為了各個行業的必備的基本技能。Pandas作為最為強大成熟的數據處理工具之一,已經被用在機器學習和統計分析領域的方方面面。如何快速學習掌握Pandas的使用技巧,《「pandas實戰教程」電子書》用開源免費的方式帶你從數據分析小白進階為Pandas能手。

點擊藍字標題,即可閱讀《數據科學|「pandas實戰教程」電子書正式上線啦》

相關焦點

  • 用Python製作酷炫詞雲圖,原來這麼簡單!
    Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes一、簡介  詞雲圖是文本挖掘中用來表徵詞頻的數據可視化圖像,通過它可以很直觀地展現文本數據中地高頻詞:圖1 詞雲圖示例  在Python中有很多可視化框架可以用來製作詞雲圖,如pyecharts,但這些框架並不是專門用於製作詞雲圖的,
  • 詞雲圖,如何酷炫地突出重點
    詞雲圖,如何酷炫地突出重點在現實生活中,很多人想做詞雲圖,也有了關鍵詞的數據但自己又不會做詞雲圖這時候怎麼辦?看過來吧,今天我來教你怎麼做,讓你學會製作美觀、酷炫的詞雲圖。詞雲圖,其作用主要是為了文本數據的視覺表示,由詞彙組成類似雲的彩色圖形。相對柱狀圖,折線圖,餅圖等等用來顯示數值數據的圖表,詞雲圖的獨特之處在於,它可以展示大量文本數據。每個詞的重要性以字體大小,字體越大,越突出,也越重要。
  • 利用python畫出詞雲圖
    本文將介紹如何利用python中相應的模塊畫出詞雲圖。首先給出效果圖:其中詞雲圖中的詞彙是對手機簡訊中的垃圾簡訊的統計,字體越大表示在垃圾簡訊中出現的頻次越高。下面給出具體的步驟。讀取「垃圾簡訊」的csv數據首先給出代碼:其中pandas是一個python常用的數據可視化模塊。pd.read_csv函數是用來讀取csv文件,data.columns是修改文件中的列的名稱。
  • 人人云圖CEO楊鵬:數據科學驅動業務安全
    人人云圖旨在打擊黑產上下遊,應用先進數據科學構建業務安全智能平臺,實現數據和場景的穿透,以幫助企業業務健康增長。企業的核心產品為針對黑產上遊的接口風控和針對黑產下遊的營銷風控,產品已經獲得標杆客戶驗證,指標業績領先。目前,企業主要服務於銀行和證券的金融行業以及民航行業,主要應用場景為線上開卡和票務風控。
  • 用詞雲圖看Sustainability期刊熱門題目
    在之前的推文《用詞雲圖看2020社科基金課題~》中,我們已經介紹了詞雲圖的相關用法,並結合jieba分詞來繪製詞雲圖,由於jieba只針對中文進行分詞操作,本期當中,我們要在上周發布的推文《在Sustainability上發文最多的原來是這些高校》基礎上,利用nltk庫對論文題目進行分詞操作,並用詞雲圖直觀地了解Sustainability上發表論文的熱門課題,同時對詞雲圖的一些具體用法進行介紹。
  • SFI:Stata與Python的數據交互手冊(一)
    在往期推文《Stata16調用Python測試(一)》 以及 《Stata16調用Python——繪製詞雲圖》 中,我們分別從基礎功能與實踐應用的方面介紹了Stata16中的Python命令,但它們均未直面問題的核心———Python與Stata的數據交互。在Stata16版本以前,用戶並非不能實現「Stata和Python混著用」的場景。例如,通過Stata的!
  • 數據科學探索(python 與 R 的比較)
    這一期主要應用python和R 這2種工具對某真實信貸數據進行分析,通過數據的讀取、清洗、探索、模型構建等,比較2種方法在機器學習數據科學上的實現
  • 數據科學中的Python與R
    人人遊戲高級數據科學家陳弢、百度大數據首席架構師林仕鼎,都將數據科學家分為廣義和狹義兩種:從廣義的角度,以數據為處理對象的從業者都可稱為數據科學家,比如原來的資料庫管理人員、數據架構師、資料庫工程師和數據統計分析師;從狹義的角度,只有那些能夠利用數據作為資源,具有數據分析能力,精通各類算法,直接處理數據,創造附加價值的人員才可以稱為數據科學家。
  • Python數據科學實踐 | 初步搭建數據科學工作環境
    為了全⾯了解數據科學的⾏業狀況,2017年kaggle(互聯⽹上最著名的數據科學競賽平臺之⼀)⾸次進⾏了全⾏業調查。從超過16,000名從業者的詳盡答卷中,對於⽬前業內的發展趨勢,我們能夠窺得⼀⼆。調查數據表明,在眾多數據科學和機器學習的分析⼯具中,Python是數據科學家們最常⽤的語⾔。
  • Python數據科學實踐 | 資料庫1
    大家好,基於Python的數據科學實踐課程又到來了,大家盡情學習吧。本期內容主要由智億同學與政委聯合推出。資料庫永遠是數據管理上最值得使用的工具。而把所收集的大量數據放入資料庫之後再處理是數據科學實踐項目中必不可少的一步。
  • 數據科學中一些不常用但很有用的Python庫
    導讀提到數據科學的python包,大家想到的估計是numpy,pandas,scikit-learn之類的,這裡給大家介紹一些不常用,但是非常有用的python包,就像是痒痒撓,雖然大部分時間用不上,但是真要用起來,還是挺爽的。
  • 怎麼用Python畫出好看的詞雲圖?
    前期準備上面的這種圖叫做詞雲圖,主要用途是將文本數據中出現頻率較高的關鍵詞以可視化的形式展現出來,使人一眼就可以領略文本數據的主要表達意思。詞雲圖中,詞的大小代表了其詞頻,越大的字代表其出現頻率更高。那生成一張詞雲圖的主要步驟有哪些?過程中又需要用到哪些Python庫呢?首先需要一份待分析的文本數據,由於文本數據都是一段一段的,所以第一步要將這些句子或者段落劃分成詞,這個過程稱之為分詞,需要用到Python中的分詞庫jieba。
  • python數據分析專題 (7):python數據分析模塊
    也就是這些python的擴展包讓python可以做數據分析,主要包括numpy,scipy,pandas,matplotlib,scikit-learn等等諸多強大的模塊,在結合上ipython交互工具 ,以及python強大的爬蟲數據獲取能力,字符串處理能力,讓python成為完整的數據分析工具。
  • Python模塊Wordcloud,手把手教你生成詞雲圖
    wordcloud是Python擴展庫中一種將詞語用圖片表達出來的一種形式,通過詞雲生成的圖片,我們可以更加直觀的看出某篇文章的故事梗概。首先貼出一張詞雲圖(以哈利波特小說為例):在生成詞雲圖之前,首先要做一些準備工作1.安裝結巴分詞庫pip install jiebaPython中的分詞模塊有很多
  • 13分鐘,教你python可視化分析20W數據,找到妹子最愛的內衣
    所以我想到了當下最火的BI分析工具,有了數據,直接拖拽就能得到可視化分析,完全就是零代碼,python+BI在手,打遍無敵手。原理也很簡單,數據獲取是通過Python進行的,然後得到Excel表,BI可以直接連接數據源,負責最後應用層的數據處理、加工和可視化。那分析什麼呢?想來想去,我選擇了女性的內衣。
  • 使用Visual Studio 和 python 設置自己的數據科學工作區
    雷鋒網 AI 開發者按,新手在剛剛開始數據科學的學習時會遇到很多問題,而往往最簡單的問題也最容易犯錯。其中,管理 python 環境可能是一件讓人頭疼的事情。,搭建一個好的工作空間將讓你避免很多不必要的麻煩。
  • python爬取+BI分析5000條內衣數據,發現妹子最愛這款文胸
    京東店家頁面上可以作為數據指標的有:評論量、評分、評論、購買時間等。二、數據獲取京東的python爬取比較簡單,只需要知道想要爬取頁面的url就ok了,所以第一步我們先爬一下數據。hour,設置方式如下:源數據中的文胸顏色有很多,比如卡卡色、淡粉色、桃粉色、性感粉等等,我們不需要這麼多種類,只需要一個大概的色調即可,因此再新增一列,名稱為「色調」,選擇分組賦值,將同種顏色的色調分為同一組中,方便我們分析:同理,我們可以把內衣尺寸也進行分組賦值,按照大小歸為A、B、C、D四個組,如下:最後一步進行分組匯總,基本的數據加工就完成了,我們所需要的指標和維度都已經處理好了
  • wxpy庫+Pyecharts庫:用Python對微信好友進行數據分析
    申請微信公眾號之後本來有個想法要用Python做個微信聊天機器人玩一下。後來百度了解到wxpy庫,嘗試了一下,心想著既然可以獲取到微信好友的數據,那不如進行一下簡單的數據分析。於是選用了Pyecharts庫繪製圖表。網絡上可能有一些教程,但是百看不如一做,通過自己實操解決問題,才能在一邊寫bug一邊解決的道路上成長嘛。
  • 為什麼入門大數據選擇Python而不是Java?
    java和python,都可以運行於linux作業系統,但很多linux可以原生支持python,java需要自行安裝。java和python強於c#的原因大於支持linux,支持osx,支持unix,支持arm。java和python比c++受歡迎的原因在於不需要指針。不少想學習大數據的零基礎學員都知道,學大數據部分課程之前要先學習一種計算機程式語言。
  • 用Python構建數據科學Web應用程式
    在本文中,我將向你展示如何使用streamlit python庫快速構建一個簡單的數據驅動web應用程式,只需幾行代碼。作為一名數據科學家或機器學習工程師,能夠部署我們的數據科學項目是很重要的。傳統的使用Django或Flask這樣的框架來部署機器學習模型可能是一項艱巨和/或耗時的任務。