【數據可視化】數據科學工作的相關內容數據可視化

2021-03-03 數據智農

      2017年8月26日,全球最大的數據科學社群Kaggle發布了數據科學/機器學習業界現狀全行業調查的數據集。調查問卷數據從2017年8月7日~8月25日收集。受訪者囊括了來自50多個國家的16,716+位從業者。

      數據的基本情況:通過函數response.head()觀察數據的前5行特徵

     截取了部分數據分析如下:通過分析可以發現數據有228維數據。

調查對象總數 16716

一共多少個國家參與了調查: 52

參與人數最多的國家是 United States 人數 4197

    最小的選手: 0.0  最大的選手: 100.0

得到了數據的基本情況,接下來,下文就對數據進行可視化展示。

import matplotlib

matplotlib.rcParams.update({'font.size': 25})

plt.subplots(figsize=(22,12))

sns.countplot(y=response['GenderSelect'],order=response['GenderSelect'].value_counts().index)

plt.show()

plt.subplots(figsize=(10,8))

sns.boxplot(y='GenderSelect',x='Salary',data=salary)

plt.ylabel('')

plt.show()

由上圖可知,男性工作者的工資比女性工作者的稍高一些。

resp_coun=response['Country'].value_counts()[:15].to_frame()

sns.barplot(resp_coun['Country'],resp_coun.index,palette='inferno')

plt.title('Top 15 Countries by number of respondents')

plt.xlabel('')

fig=plt.gcf()#獲取當前圖表對象

fig.set_size_inches(10,10)#設置尺寸大小

plt.show()

2.4從事數據工作的人主修的專業以及現在的工作領域

f,ax=plt.subplots(1,2,figsize=(30,15))

sns.countplot(y=response['MajorSelect'],ax=ax[0],order=response['MajorSelect'].value_counts().index)

ax[0].set_title('Major')

ax[0].set_ylabel('')

sns.countplot(y=response['CurrentJobTitleSelect'],ax=ax[1],order=response['CurrentJobTitleSelect'].value_counts().index)

ax[1].set_title('Current Job')

ax[1].set_ylabel('')

plt.subplots_adjust(wspace=0.8)

plt.show()

     從左圖中可以看出,幾乎所有行業都使用數據科學和機器學,因為來自不同領域的人們,如物理、生物學等,正都在從事數據方面的研究;右邊的圖表顯示了被調查者當前的工作情況,最多的人是數據科學家。

sal_job=salary.groupby('CurrentJobTitleSelect')['Salary'].median().to_frame().sort_values(by='Salary',ascending=False)

ax=sns.barplot(sal_job.Salary,sal_job.index,palette=sns.color_palette('inferno',20))

plt.title('Compensation By Job Title',size=15)

for i, v in enumerate(sal_job.Salary):

    ax.text(.5, i, v,fontsize=10,color='white',weight='bold')

fig=plt.gcf()

fig.set_size_inches(8,8)

plt.show()

    運籌學從業者的平均工資中位數最高,其次是預測建模師和數據科學家。計算機科學家(好歹也是科學家啊)和程式設計師(好吧,我墊底了)的報酬最低。

f,ax=plt.subplots(1,2,figsize=(30,15))

ml_nxt=response['MLMethodNextYearSelect'].str.split(',')

nxt_year=[]

for i in ml_nxt.dropna():

    nxt_year.extend(i)

pd.Series(nxt_year).value_counts()[:15].sort_values(ascending=True).plot.barh(width=0.9,color=sns.color_palette('winter_r',15),ax=ax[0])

tool=response['MLToolNextYearSelect'].str.split(',')

tool_nxt=[]

for i in tool.dropna():

    tool_nxt.extend(i)

pd.Series(tool_nxt).value_counts()[:15].sort_values(ascending=True).plot.barh(width=0.9,color=sns.color_palette('winter_r',15),ax=ax[1])

plt.subplots_adjust(wspace=0.8)

ax[0].set_title('ML Method Next Year')

ax[1].set_title('ML Tool Next Year')

plt.show()

    很明顯,下一年將會有更多的深度學習者。深入學習和神經網絡或短期AI是明年最受歡迎的熱門話題。此外,在工具方面,Python比R更受歡迎。

plt.subplots(figsize=(10,8))

learn=response['LearningPlatformSelect'].str.split(',')

platform=[]

for i in learn.dropna():

    platform.extend(i)

pd.Series(platform).value_counts()[:15].sort_values(ascending=True).plot.barh(width=0.9,color=sns.color_palette('winter',15))

plt.title('Best Platforms to Learn',size=15)

plt.show()

    由上表可以看出,kaggle個是非常不錯的平臺的,廣受大家喜愛。

satisfy=response.copy()

satisfy['JobSatisfaction'].replace({'10 - Highly Satisfied':'10','1 - Highly Dissatisfied':'1','I prefer not to share':np.NaN},inplace=True)

satisfy.dropna(subset=['JobSatisfaction'],inplace=True)

satisfy['JobSatisfaction']=satisfy['JobSatisfaction'].astype(int)

satisfy_job=satisfy.groupby(['CurrentJobTitleSelect'])['JobSatisfaction'].mean().sort_values(ascending=False).to_frame()

ax=sns.barplot(y=satisfy_job.index,x=satisfy_job.JobSatisfaction,palette=sns.color_palette('inferno',20))

fig=plt.gcf()

fig.set_size_inches(8,10)

for i, v in enumerate(satisfy_job.JobSatisfaction):

    ax.text(.1, i, v,fontsize=10,color='white',weight='bold')

plt.title('Job Satisfaction out of 10')

plt.show()

    可以從圖表直觀地看出,數據科學家和機器學習工程師是最滿意的人,而程式設計師的工作滿意度最低。

from matplotlib_venn import venn2

# pip install matplotlib_venn 畫交集用的

f,ax=plt.subplots(1,2,figsize=(18,8))

pd.Series([python.shape[0],R.shape[0],both.shape[0]],index=['Python','R','Both']).plot.bar(ax=ax[0])

ax[0].set_title('Number of Users')

venn2(subsets = (python.shape[0],R.shape[0],both.shape[0]), set_labels = ('Python Users', 'R Users'))

plt.title('Venn Diagram for Users')

plt.show()

py1=python.copy()

r=R.copy()

py1['WorkToolsSelect']='Python'

r['WorkToolsSelect']='R'

r_vs_py=pd.concat([py1,r])

r_vs_py=r_vs_py.groupby(['CurrentJobTitleSelect','WorkToolsSelect'])['Age'].count().to_frame().reset_index()

r_vs_py.pivot('CurrentJobTitleSelect','WorkToolsSelect','Age').plot.barh(width=0.8)

fig=plt.gcf()

fig.set_size_inches(10,15)

plt.title('Job Title vs Language Used',size=15)

plt.show()

    r在視覺上勝過Python。因此,擁有諸如數據分析師、業務分析師等職位頭銜的人在圖形和視覺上扮演著非常重要的角色,他們喜歡R而不是Python。同樣,幾乎90%的統計人員使用R,正如前面所述,Python在機器學習方面更好,因此機器學習工程師、數據科學家和DBA或程式設計師等其他人更喜歡Python。

r_vs_py=pd.concat([py1,r])

r_vs_py=r_vs_py.groupby(['Tenure','WorkToolsSelect'])['Age'].count().to_frame().reset_index()

r_vs_py.pivot('Tenure','WorkToolsSelect','Age').plot.barh(width=0.8)

fig=plt.gcf()

fig.set_size_inches(10,10)

plt.title('Job Tenure vs Language Used')

plt.show()

    Python初學者會更多一些,且在使用人數上高於R。

所在國家:

plt.subplots(figsize=(10,8))

coun=scientist['Country'].value_counts()[:15].sort_values(ascending=False).to_frame()

sns.barplot(coun.Country,coun.index,palette='inferno')

plt.title('Countries By Number Of Data Scientists',size=15)

plt.show()

教育背景以及工作情況:

f,ax=plt.subplots(1,2,figsize=(25,10))

sns.countplot(y=scientist['EmploymentStatus'],ax=ax[0])

ax[0].set_title('Employment Status')

ax[0].set_ylabel('')

sns.countplot(y=scientist['FormalEducation'],order=scientist['FormalEducation'].value_counts().index,ax=ax[1],palette=sns.color_palette('viridis_r',15))

ax[1].set_title('Formal Eduaction')

ax[1].set_ylabel('')

plt.subplots_adjust(wspace=0.8)

plt.show()

數據科學家工作領域的分布:

plt.subplots(figsize=(10,8))

scientist=response[response['DataScienceIdentitySelect']=='Yes']

scientist['CurrentJobTitleSelect'].value_counts().sort_values(ascending=True).plot.barh(width=0.9,color=sns.color_palette('inferno',15))

plt.title('Job Titles',size=15)

plt.show()

plt.subplots(figsize=(8,8))

tools=scientist['WorkToolsSelect'].str.split(',')

tools_work=[]

for i in tools.dropna():

    tools_work.extend(i)

pd.Series(tools_work).value_counts()[:15].sort_values(ascending=True).plot.barh(width=0.9,color=sns.color_palette('RdYlGn',15))

plt.show()

f,ax=plt.subplots(1,2,figsize=(25,12))

sns.countplot(scientist['JobSkillImportanceVisualizations'],ax=ax[0])

ax[0].set_title('Job Importance For Visuals')

ax[0].set_xlabel('')

scientist['WorkDataVisualizations'].value_counts().plot.pie(autopct='%2.0f%%',colors=sns.color_palette('Paired',10),ax=ax[1])

ax[1].set_title('Use Of Visualisations in Projects')

my_circle=plt.Circle( (0,0), 0.7, color='white')

p=plt.gcf()

p.gca().add_artist(my_circle)

plt.ylabel('')

plt.show()

1)大多數受訪者來自美國,且男性居多。

2)調查對象不僅限於計算機科學專業,還包括統計學、健康科學等專業,數據科學是一門跨學科的領域。

3)大多數被調查者都被充分僱用。

4)Kaggle數據採集與GitHub的代碼共享是大家非常喜歡的

5)數據科學家的工作滿意度最高,相反程式設計師的工作滿意度最低。

6)學習Python、R和SQL,因為它們是數據科學家最常用的語言。Python和R將有助於分析和預測建模,而SQL最適合查詢資料庫。

7)可視化是非常重要的數據科學項目以及幾乎所有的項目都需要了解數據的可視化。

8)數學和統計在數據科學中是非常重要的,所以我們應該對它有很好的理解,以便真正理解算法是如何工作的。

9)項目是學習數據科學的最佳途徑。因此,研究項目將有助於更好地學習數據科學。

長按二維碼關注

如有任何問題
您可以發送郵件至
dataintellagr@126.com
或關注微博/知乎/微信後臺留言
我們期待您的提問!
微博:數據智農
知乎:數據智農
郵箱:dataintellagr@126.com

製作:鄂繼鳳

相關焦點

  • 從數據可視化到交互式數據分析
    多年來,數據新聞為通過數據解釋複雜事物的藝術提供了很好的貢獻(參見《紐約時報》和《華盛頓郵報》多年來所做的令人驚嘆的工作)。同時這也屬於教育領域,尤其是基於數字和圖表的科學教育。舉個簡單例子:有時,當信息內容表達的是百分比而不是絕對值時,圖表能更好地傳達問題。我認為,如果我們能夠更好地理解和描述數據轉換在可視化中所扮演的角色,那將是非常有用的。我的印象是,在很多情況下,我們往往過分強調圖形化的感知,然而真正的價值點在數據內容部分。「為了對數據分析有用,可視化需要多麼花哨?」
  • 數據可視化與信息可視化怎麼搞?
    我們常常迷失在數據中,紛繁複雜的數據讓我們無所適從。可視化作為解決這問題的有效手段,通過視覺的方式讓數字易於理解。本文梳理了可視化相關內容,並且根據數據平臺組同仁們在可視化項目過程中使用經驗,總結一些可視化使用注意事項,與大家分享。
  • 數據可視化基本流程
    作為統計專業出身,學習數據可視化是必不可少的。第一次接觸可視化是在大三上學期,學校特意在我們有了一定的統計基礎和編程能力的情況下,開設了一門數據可視化的課程。這門課程的主要學習內容是利用SPSS、R語言編寫程序,繪製出一些簡單的統計圖形,比如箱線圖,散點圖,熱力圖等等,並根據得出的結果,整理成一份可視化報告。上圖是一張利用DataFocus製作的可視化大屏。今天呢,主要是想通過自己的理解,結合所學的內容,簡單整理出一些關於數據可視化的流程。
  • 數據可視化設計系列(1): 數據可視化的定義
    這樣理解來,」可視化「也在描述一種「讓大家看見的」發展方向,或者能力。數據可視化的領域是廣博且在不斷擴展的,那用五個字去完整地整個領域終究稍顯單薄。本文旨在給數據可視化(Data Visualization)下一個定義,盡力為大家引入數據可視化的無窮趣味和無儘可能性。那麼,什麼是數據可視化呢?
  • Python數據分析可視化教程學習
    來源:博學谷 作者:照照隨著數據分析與數據挖掘行業的日益火爆,Python數據分析可視化教程也成為了許多人提升職業競爭力的必修課。本文將詳細為大家介紹Python數據分析可視化教程的具體內容,全文會圍繞著為什麼學?學什麼?學了有什麼用?
  • 「 Python數據可視化系列」3. 使用Leather進行數據可視化
    在本章中,我們將使用Jupyter Notebook、Python、數據可視化庫leather進行基本的數據可視化。pip3 install--upgrade pip運行以下語句安裝用於數據可視化演示的庫:!pip3 install leather這將在計算機上安裝leather數據可視化庫。在下一節中,我們將使用筆記本開始學習Python利用leather庫的可視化。
  • 數據可視化的十大優點
    相比之下,數據可視化使用戶能夠接收有關運營和業務條件的大量信息。數據可視化允許決策者查看多維數據集之間的連接,並通過使用熱圖,地理圖和其他豐富的圖形表示提供解釋數據的新方法。   2.快速訪問相關業務見解   通過數據可視化,業務組織可以提高他們在需要時查找所需信息的能力,並且比其他公司更高效地完成這些工作。
  • 資料 | 機器學習與流場數據可視化
    from=leiphonecolumn_res0910內容簡介 · · · · · ·科學計算可視化(Scientific Visualization,SciVis)是計算機圖形學的一個重要研究方向,是圖形科學的新領域。
  • 數據可視化工具大集合
    所謂數據可視化是對大型資料庫或數據倉庫中的數據的可視化,它是可視化技術在非空間數據領域的應用,使人們不再局限於通過關係數據表來觀察和分析數據信息
  • 2020「智慧杯」數據可視化大賽|大數據|數據挖掘|永洪|桌面雲_網易...
    培養出足夠的、合格的數據人才,對我國在未來掌握大數據的核心價值起著至關重要的作用。為滿足社會對大數據人才的需求,為助力推動大數據相關學科的深化發展,助力大數據產業人才培養,今年由CDA數據科學研究院聯合永洪科技主辦的數據可視化大賽正式啟動(以下簡稱「競賽」)。本次競賽是數據可視化能力大賽,旨在促進數據可視化技能、數據可視化科學思維、數據可視化實踐能力。
  • 大數據產品分析:淺析數據可視化
    數據可視化——藉助於圖形化手段,清晰有效地傳達與溝通信息同時對數據進行交互分析。為什麼需要?由於人類大腦在記憶能力的限制,所以我們利用視覺獲取的信息量多於感官,在大數據與網際網路時代,企業從傳統的流程式管理方式過渡到基於數據的管理方式將會成為必然的趨勢,數據可視化能夠幫助分析的人對數據有更全面的認識。
  • 大數據可視化前景廣闊——設計創意學院智能大數據可視化實驗室...
    近日,記者就這一問題找到我校設計創意學院智能大數據可視化實驗室的曹楠教授,他表示,智能大數據可視化實驗室兩年多來的工作表明,其應用前景十分廣闊。智能大數據可視化實驗室做什麼?如何理解大規模數據中的潛在模式、可視化是一個有效的方法。
  • 數據可視化的10大優點
    DataFocus君為大伙兒找到一篇大讚數據可視化的10大優點的文章,翻譯如下,希望能給你從事可視化工作的你帶來信心。數據可視化不僅僅是一個詞。讓我來告訴你為什麼。數據可視化允許決策者查看多維數據集之間的連接,並通過使用熱圖,地理圖和其他豐富的圖形表示提供解釋數據的新方法。2.快速訪問相關業務見解通過數據可視化,業務組織可以提高他們在需要時查找所需信息的能力,並且比其他公司更高效地完成這些工作。
  • 數據可視化之旅(三):數據圖表的選擇(中)
    「分布型數據」:研究數據分布的集中趨勢、離散程度、偏態和峰度等。0x01 對比型數據可視化在實際工作中,我們經常需要對比多組數據之間的差異,而這些差異通常是通過不同的標記和視覺通道體現出來。高度差異/寬度差異:柱狀圖、條形圖。面積差異:面積圖、氣泡圖。字號差異:單詞雲圖。形狀差異:星狀圖。
  • 高級的數據可視化怎麼做?
    其實,數據可視化並沒有同學們想的那麼複雜,它是一個完全可以量化的技術。由於人類的大腦對視覺信息的處理優於對文本的處理,所以使用圖表、圖形和設計元素,數據可視化可以幫助我們更容易的解釋趨勢和統計數據。 在資訊時代和大數據時代的背景下,隨著人類技術的高,通過圖形,圖像處理,計算機視覺等技術,在設計領域中,通過藝術的表達與動態演示,可以將數據加以視覺化闡述。文本形式的表達數據是混亂無章的,如果利用可視化的數據可以幫助人們快速的理解數據中的含義,趨勢及相關性。
  • 【數據可視化】新冠疫情數據可視化
    首先進行導包以及數據讀取:import numpy as npimport pandas as pdimport pyechartsfrom datetime import datetimefrom pyecharts import options as optsfrom pyecharts.charts
  • 數據科學 | 可視化神器Seaborn的超全介紹
    作者:Huangwei AI編者按:數據可視化對於數據分析和科研論文的結果分析十分重要。python近年來呈現了許多優秀的可視化庫,最經典的當屬matplotlib。用於構建多圖塊網格的高級抽象,使您可以輕鬆地構建複雜的可視化對matplotlib圖形樣式與幾個內置主題的簡潔控制選擇調色板的工具,忠實地揭示您的數據模式Seaborn的目標是使可視化成為探索和理解數據的核心部分。
  • 數據可視化基本套路總結
    用人話簡單來說,數據可視化就是用圖形的方式來表徵數據的規律。首先要明確幾點:數據可視化從來只是表層的東西,數據分析才是核心。就像一個人,不一定長得漂亮人格就高尚,也不一定長得不好看人格就低下。而應該反過來,只只有數據分析內涵豐富、價值高,數據可視化才能內容豐富、有價值。
  • 大數據時代人民網可視化數據新聞研究
    三、研究方法 (一)內容分析法 「內容分析法是一種對傳播信息內容進行系統、客觀和量化描述的研究方法。」[[7] 鄒菲. 內容分析法的理論與實踐研究[D]. 武漢大學, 2004.][[7]運用該研究方法通過對人民網新聞作品抽取的適當的樣本進行研究以推導出人民網數據新聞傳播內容、生產流程和可視化設計特點,是量化研究與質化研究的結合。
  • ​數據可視化 | 6個基本可視化Python庫
    數據可視化是使用可視元素(例如圖表,圖形等)表示數據的過程,有助於從數據中獲取有意義的見解。它旨在揭示數據背後的信息,並進一步幫助查看者查看數據中的結構。數據可視化將使任何人只要對數據科學的了解最少,即可獲得科學發現,並幫助人們輕鬆地交流信息。畢竟,一張圖片勝過千言萬語。在本文中我們將介紹一些Python支持的最出色的可視化庫。