<optgroup id="i0uik"></optgroup>
<optgroup id="i0uik"></optgroup>
旗下產業: A產業/ A實習/ A計劃
全國統一咨詢熱線:010-5367 2995
首頁 > 熱門文章 > 大數據分析 > 零基礎小白如何使用Python分析調查數據
零基礎小白如何使用Python分析調查數據
時間:2020-05-25來源:www.zhuozheng31.icu點擊量:作者:Sissi
時間:2020-05-25點擊量:作者:Sissi



  進行調查和民意調查是收集數據和深入了解諸如客戶為何離開我們網站等問題的最佳方法之一。還是為什么選民會吸引這位候選人?但是分析調查數據可能是一個真正的挑戰!
 

  在本教程中,我們將逐步介紹如何使用Python分析調查數據。但是不用擔心-即使您以前從未編寫過代碼,也可以處理!我們將逐步進行它,到本教程結束時,您將看到如何僅用幾行代碼就能釋放出相當不錯的分析能力!
 

  出于本文的目的,我們將分析StackOverflow的2019年開發人員調查數據,因為這是一個公開的,經過適當匿名的大型調查數據集。但是這些技術將適用于幾乎所有類型的調查數據。
 

  大多數調查數據的格式與我們在此處使用的格式類似:電子表格,其中每一行包含一個人的答案,而每一列包含特定問題的所有答案。這是我們的數據集的一個片段;您的外觀可能相似。

大數據分析
 

  現在,讓我們深入分析這些數據!我們將從幾個快速步驟開始,以進行分析。
 

  步驟1:以CSV檔案的形式取得問卷調查回應
 

  要使用代碼分析調查數據,我們需要以.csv文件的形式獲取它。如果您想使用與我們相同的數據集來完成本教程,則可以在此處獲取2019 StackOverflow開發人員調查結果數據,該數據已經作為CSV文件(在文件內部.zip)準備好了。
 

  如果您想開始使用自己的數據,請按照以下方式以CSV格式獲取數據:
 

  a.如果您運行在線調查,則可能可以直接從所使用的調查服務下載CSV。Typeform和許多其他在線調查工具將使您能夠下載包含所有調查回復的CSV,這使事情變得輕松而簡單。

  b.如果您使用Google表格進行調查,那么您的數據將以在線Google表格的形式提供。在Google表格界面中,點擊File > Download,然后選擇Comma-separated values (.csv, current sheet)以CSV格式下載數據。

  c.如果您以其他方式收集了數據,但是以電子表格格式保存了數據,則可以從Excel或幾乎所有其他電子表格程序中將電子表格保存為CSV文件。在Excel中,您需要導航到File > Save As。在Save as type:字段中,選擇CSV (Comma delimited) (*.csv),然后單擊“保存”。在其他電子表格軟件中,過程應非常相似。
 

  在繼續之前,您可能想使用電子表格軟件打開CSV文件并查看格式。如果看起來像我們之前看過的代碼片段,那么分析將是最簡單的:電子表格第一行中的問題,隨后每一行中的受訪者回答。例如,如果您的數據頂部有一些額外的行,則最好在繼續操作之前刪除這些行,以使數據集中的第一行是您的調查問題,隨后的每一行都是一個受訪者的答案。
 

  步驟2:設置您的編碼環境
 

  (如果您已經安裝了Anaconda并且熟悉Jupyter Notebook,則可以跳過此步驟。)
 

  下一步是設置一個名為Jupyter Notebooks的工具。Jupyter筆記本電腦是一種流行的數據分析工具,因為它們設置迅速且使用非常方便。我們已經編寫了深入的Jupyter Notebooks教程,其中有很多詳細信息,但是我們將在此處介紹啟動和運行所需的內容。
 

  首先,訪問Anaconda網站。稍微向下滾動,選擇計算機的操作系統,然后單擊Download以獲取Python 3.7版本。

大數據分析
 

  下載文件后,將其打開,然后按照提示在您選擇的位置將其安裝到計算機上。如果您不確定需要什么,則默認選項會很好。
 

  安裝完成后,打開Anaconda Navigator應用程序。您可以在剛安裝Anaconda的任何目錄中找到此文件,也可以通過在計算機上搜索“ Anaconda”來找到它。應用程序打開時,您可能會看到幾個屏幕閃爍,然后您將看到以下內容:
 

大數據分析

  單擊該中心選項Jupyter Notebook下的“啟動”。這將在您的Web瀏覽器中打開一個新標簽。從那里,單擊右上角的“新建”,然后在下拉菜單的“筆記本”下,單擊“ Python 3”。

大數據分析
 

  快點!您已經打開了一個新的Jupyter筆記本,我們準備開始編寫一些代碼!
 

  第3步:將調查數據導入Python
 

  我們編寫的前兩行代碼將使我們能夠將數據集放入Python和Jupyter Notebook中,以便我們可以開始使用它。
 

  我們將從導入名為的Python庫開始pandas,并對其進行昵稱,pd以便我們可以在代碼中輕松引用它。為此,我們將使用語法import pandas as pd。此代碼告訴Python導入pandas庫,然后告訴我們在使用字母時pd,我們希望它引用該pandas庫。
 

  Python庫有點像瀏覽器插件。它們添加了額外的功能,因此我們可以使用Python做更多的事情。Pandas是一個非常流行的數據分析庫,它將使我們的分析工作更加輕松。
 

  使用“昵稱” pd不是強制性的,但這是熊貓用戶常見的約定,因此習慣使用它會更容易閱讀其他人的代碼。
 

  導入熊貓后,我們需要閱讀CSV來創建所謂的熊貓DataFrame。DataFrame只是我們可以使用熊貓處理的數據表。稍后,我們將在視覺上看到DataFrame的外觀,但是要將數據導入Python和熊貓,我們需要做兩件事:
 

  1)閱讀我們下載的CSV文件,我們可以使用名為pandas的函數來完成此操作 .read_csv()

  2)將CSV數據分配給變量,以便我們可以輕松地引用它
 

  函數是對輸入執行操作的代碼位。在這種情況下,我們將輸入CSV文件的文件名,然后.read_csv()函數將自動為我們將其解析為pandas DataFrame。
 

  您可以將Python中的變量想像成書名。書名使參考書變得容易-我們可以說“殺死一只知更鳥”,人們就會知道我們在說什么,因此我們不必背誦整本書。變量的工作原理類似。它們就像是簡短的標題,我們可以用來將更大量的信息(例如我們要分析的調查數據)引薦給Python,而不必重述所有這些信息。
 

  但是,我們確實必須告訴Python我們第一次使用變量時在說什么。我們將變量名稱df(DataFrame的縮寫)用于調查數據。
 

  因此,我們將用于讀取數據集的代碼如下所示:df = pd.read_csv('survey_results_public.csv')。這是該代碼從左到右告訴Python的內容:
 

  1)df =告訴Python我們正在創建一個名為的新變量df,當您看到時df,請參考以下信息:

  2)pd 告訴Python查看我們之前導入的pandas庫。

  3).read_csv('survey_results_public.csv')告訴Python使用函數.read_csv()讀取文件survey_results_public.csv。
 

  請注意,如果CSV文件未與正在使用的Jupyter Notebook存儲在同一文件夾中,則需要指定數據集的文件路徑。保存時間會有所不同,但是可能看起來像這樣:df = pd.read_csv('C://Users/Username/Documents/Filename.csv')。
 

  這就足夠了。通過在Jupyter Notebook的第一個單元格中鍵入以下代碼來運行代碼,然后單擊“ 運行”按鈕:
 

大數據分析
 

  但是等等,什么也沒發生!那是因為我們實際上并沒有告訴Python給我們任何形式的響應。我們的代碼實際起作用了嗎?
 

  為了進行檢查,讓我們使用另一個名為的熊貓方法.head()。這將向我們展示DataFrame的前幾行。我們可以通過在括號之間放置一個數字來指定要查看的行數,或者我們可以簡單地將其保留不變,它將顯示前五行。
 

  不過,我們確實需要告訴.head()我們要看什么DataFrame,因此我們將使用語法df.head()。該df通知的Python我們想看看該數據幀,我們只是用我們的CSV數據所做的.告訴Python我們要做的東西的數據幀,然后head()告訴Python的是什么,我們想做的事:顯示前五行。

大數據分析
 

 

  有我們的DataFrame!看起來很像電子表格,對吧?我們可以看到一些答案看起來被截斷了,但是不用擔心,數據并沒有丟失,只是沒有直觀地顯示出來。
 

  我們可能還會注意到此數據中還有其他一些奇怪的事情,例如NaN在某些行中的外觀。稍后我們將對此進行處理,但是首先,讓我們使用另一個稱為pandas的功能.shape來仔細查看我們的數據集,以賦予我們數據集的大小。

大數據分析
 

  這說明我們的數據集中有88,883行和85列。這些數字應與調查中被調查者(行)和問題(列)的數量完全對應。如果這樣做的話,這意味著我們所有的調查數據現在都存儲在該DataFrame中,可以進行分析了。
 

  步驟4:分析多項選擇調查問題
 

  你如何繼續進行分析,從這里真的是你的,并與85題,有噸不同的東西,我們可以用這個數據做。但是,讓我們從簡單的問題開始:是或否的問題。
 

  (注意:要弄清楚某些列名在StackOverflow數據中的含義可能很困難,但是數據集下載隨附一個隨附的模式文件,其中包含每個問題的全文,因此您可能需要不時引用它有時間將列名與受訪者實際看到的問題進行匹配。)
 

  該調查中比較獨特的是或否問題之一是:“您認為今天出生的人的生活會比父母更好嗎?”
 

  看到樂觀的StackOverflow社區對未來的感覺可能會很有趣!我們可以使用名為的方便的熊貓函數來做到這一點value_counts()。
 

  該value_counts()函數一次查看一列數據,并計算該列包含的每個唯一條目的實例數。(在熊貓語中,單列稱為“系列”,因此您可能會將此功能稱為Series.value_counts()。)
 

  要使用它,我們需要做的就是告訴Python我們要查看的特定Series(又稱專欄),然后告訴它執行.value_counts()。我們可以通過寫數據框的名稱來指定特定的列,然后在方括號內寫該列的名稱,如下所示:df['BetterLife']。
 

  (就像我們的列表一樣,由于'BetterLife'是字符串而不是數字或變量名,因此我們需要將其放在撇號或引號中,以防止Python引起混淆)。
 

  讓我們運行該代碼,看看我們得到了什么!

大數據分析


 

  真好!現在我們知道,在我們的數據集中的88883位受訪者中,有54938位認為未來前景一片光明。
 

  不過,將其表示為響應總數的百分比可能會更有用。值得慶幸的是,我們可以通過在value_counts()括號內添加一個輸入來做到這一點。函數輸入在編程中稱為自變量,可以使用它們將信息傳遞給影響其輸出內容的函數。
 

  在這種情況下,我們將傳遞一個看起來像這樣的參數:normalize=True。該大熊貓文檔大約有一些這方面的細節,但長話短說:value_counts將承擔我們希望normalize是False,如果我們不把任何東西里面的功能,因此將返回原始計數為每個值。
 

  但是,如果設置normalize為True,它將通過將它們表示為我們指定的pandas系列中總行數的百分比來“標準化”計數。

大數據分析
 

  現在我們可以看到大約64%的開發人員認為今天出生的孩子的生活會越來越好,大約36%的開發人員認為今天的孩子生活質量相近或較差。
 

  讓我們在另一個有趣的是/否問題上嘗試相同的事情:“您是否認為需要成為經理才能賺更多的錢?” 許多硅谷公司聲稱,管理不是獲得財務成功的唯一途徑,但開發商是否會購買?

大數據分析
 

  顯然,大多數開發人員都沒有購買它。實際上,只有不到30%的人相信他們無需進入管理就能賺更多的錢!
 

  我們還可以看到,盡管這是一個是/否問題,但是StackOverflow包含了第三個響應選項(“不確定”),我們的代碼仍然以相同的方式工作。value_counts()將適用于任何選擇題。
 

  步驟5:繪制多項選擇答案
 

  查看數字可能會很有啟發性,但人類是視覺生物。幸運的是,對于我們來說,直觀地繪制這些問題的答案非常簡單!
 

  由于我們是在Jupyter Notebook中編寫代碼的,因此我們將從Jupyter的魔力開始:

大數據分析
 

  此代碼不是我們分析的一部分,它只是一條指令,告訴Jupyter Notebook在我們正在使用的筆記本中內嵌顯示圖表。
 

  運行完之后,我們所要做的就是在代碼末尾添加一個小片段.plot(kind='bar')。這告訴Python接受我們剛剛提供的內容,然后將結果繪制在條形圖中。(如果需要,我們可以替換'bar'為'pie'以獲得餅圖)。
 

  讓我們嘗試一下有關開發人員偏愛的社交媒體網站的多項選擇問題:

大數據分析
 

  那已經很酷了,但是我們可以通過向該.plot()函數添加更多參數來使它看起來更快。具體來說,讓我們添加兩個:
 

  a.稱為參數的參數figsize,以英寸為單位的寬度和高度定義圖表的大小(即(15,7)

  b.稱為的參數color定義了條形的顏色。
 

  讓我們使用Dataquest的綠色#61D199:

大數據分析
 

  我們可以使用此圖表做更多的工作,但是就我們在這里的目的而言,這已經足夠了-我們只是在快速可視化之后!
 

  步驟6:分析調查數據的子集
 

  當然,與打印簡單的結果計數相比,我們通常會想做得更多!根據我們設置的幾乎任何條件,我們可以使用Python和熊貓輕松地選擇和分析非常細粒度的數據子集。
 

  例如,我們較早時看到,基于StackOverflow用戶對'BetterLife'我們所分析問題的回答,他們占少數,但相當少數的人期望世界變得更糟。例如,與更樂觀的開發人員相比,此用戶子集可能年齡更大或更年輕嗎?
 

  我們可以使用所謂的布爾值對我們的數據進行排序,并僅顯示對該問題回答“是”或“否”的人的回答。
 

  我們將通過指定要查看的DataFrame和Series(即列)來創建布爾值,然后使用條件運算符僅過濾該Series中滿足特定條件的響應。
 

  這次,讓我們先運行代碼,然后再仔細看看它在做什么:

大數據分析
 

  為確認此方法是否有效,我們可以使用來檢查該數據集的大小.shape,然后said_no使用我們的老朋友將行數與對該問題回答“否”的人數進行比較.value_counts()。

大數據分析
 

  我們可以看到我們的新數據框有31,331行,對更好的生活問題回答“否”的人數相同。我們可以通過value_counts()在此新數據幀上快速運行來進一步確認過濾器是否有效:

大數據分析
 

  完善。好的,讓我們回頭看一下這段代碼:
 

大數據分析

  這里發生了什么事?從左到右:
 

  1)said_no = 告訴Python創建一個名為said_no的新變量,并使其等于等號右側的任何內容。
 

  2)df告訴Python使它said_no等效于dfDataFrame(我們的原始數據集),但是……
 

  3)[df['BetterLife'] == 'No']告訴Python 僅包含df其中'BetterLife'列的答案等于的行'No'。
 

  注意這里的雙等號。在Python中,當我們要分配值時,即使用單個等號a = 1。我們使用雙等號檢查等價性,Python實際返回的是True或False。在這種情況下,我們告訴Python來,其中只有返回行df['BetterLife'] == 'No'的回報True。
 

  現在,我們有了一個僅包含“否”答復者的數據框,讓我們為“是”人們創建一個等效的答復者,然后進行一些比較。
 

大數據分析

  現在,讓我們看看通過將這些群體與人們如何回答有關其年齡的問題進行比較,可以確定什么。該問題的答案是整數,因此我們可以對它們執行數學運算。我們可以進行的一項快速檢查是,對更好的生活問題說“是”與“否”的人的平均年齡或中位數年齡是否存在顯著差異。
 

  我們將在此代碼中使用幾個新技巧:.mean()和.median()函數,它們將分別自動計算一列數值數據的平均值和中位數。我們還將把我們的計算結果包含在一個print()命令中,以便同時打印所有四個數字。

大數據分析
 

  正如我們在這里看到的那樣,悲觀主義者的年齡往往稍大一些,但幅度不大??纯刺囟挲g段的人如何回答這個問題以及是否有所不同可能會很有趣。如果悲觀主義者傾向于年齡稍大一些,例如,我們是否會看到50歲以上和25歲以下的開發人員的答案之間存在顯著差異?
 

  我們可以使用我們一直在使用的布爾運算來找出答案,但是==我們將使用>=,<=因為我們要過濾掉'Age'50歲以上或25歲以下的受訪者,而不是使用它來檢查條件。

大數據分析
 

  有趣!看起來最老的開發人員確實非常悲觀,其中一半以上的人說今天出生的孩子的生活不會比父母更好。另一方面,年輕開發者似乎比平均水平更為樂觀。
 

  但是,值得檢查一下我們實際上要處理的樣本有多大。我們可以使用len()函數快速完成此操作,該函數將計算DataFrame的列表或行中的項目數。

大數據分析
 

  與總數據量相比,這兩個組都沒有很大,但是兩者都足夠大,足以代表真正的分裂。
 

  步驟7:過濾更具體的子集
 

  到目前為止,我們一直在一次使用布爾值過濾數據,以查看以特定方式回答特定問題的人員。但是我們實際上可以將布爾值鏈接在一起,以非??焖俚剡^濾到非常細粒度的級別。
 

  要做到這一點,我們將使用一對大熊貓的布爾運算符,&和&~。
 

  &如我們所料,允許我們將兩個布爾值串在一起,并且True僅在兩個條件都為真時才返回。因此,在我們的上下文中,如果要通過過濾原始DataFrame中的行來創建新的DataFrame,則&在兩個布爾值之間使用將允許我們僅添加同時滿足兩個條件的行。
 

  我們可以認為&~是“不是”。如果我們&~在兩個布爾值之間使用,則僅當第一個布爾值求值為,True而第二個布爾值為時,它才返回一行False。
 

  在語法方面,使用單個布爾值的唯一變化是,當我們將多個布爾值串在一起時,需要將每個布爾值括在括號中,因此基本格式如下所示: df[(Boolean 1) & (Boolean 2)]
 

  讓我們通過篩選對更好的生活問題回答“是”并且居住在印度的人們來進行嘗試:

大數據分析
 

  我們可以通過快速檢查我們篩選出的答案的值計數來確認此功能是否按預期工作:
 

大數據分析
 

 

  如我們所見,我們的新DataFrame 僅filtered_1包含印度人,他們對未來給出了樂觀的答案。
 

  剛才,我們結合了兩個布爾值。但是我們可以串在一起的數目沒有限制,所以讓我們嘗試更復雜的下鉆。我們將僅過濾以下人員:
 

  a.對美好生活的問題回答“是”

  b.超過50歲

  c.住在印度

  d.不要編碼為愛好

  e.至少偶爾為開源項目做貢獻
 

  開始了:

大數據分析
 

  現在,我們開始看到使用編程來分析調查數據的真正力量!從超過了88,000響應的初始數據集,我們找到了一個非常五個人的特定受眾!
 

  嘗試使用電子表格軟件快速篩選出如此特定的受眾非常困難,但是在這里,我們僅用一行代碼構建并運行了篩選器。
 

  步驟8:分析多答案調查問題
 

  在分析調查數據的背景下,我們可能需要做的另一件事是處理多答案問題。例如,在此調查中,受訪者被問及他們使用哪種編程語言,并指示他們選擇盡可能多的答案。
 

  不同的調查對這些問題的答案可能會有所不同。有時,每個答案可能在單獨的列中,或者所有受訪者的答案都可以存儲在單個列中,每個答案之間使用某種分隔符。因此,我們的首要任務是查看相關列,以了解在此特定調查中如何記錄答案。

大數據分析
 

  在本次調查中,我們可以看到受訪者的答案被存儲在一個單獨的列中,;用作分隔符。
 

  由于在本教程中我們正在使用Python,因此讓我們開始分析調查數據以了解有多少開發人員正在使用Python。
 

  一種方法是查看Python此列中包含該字符串的行數。Pandas有一個內置方法,可通過一系列稱為的方法來實現Series.str.contains。這將查看系列中的每一行(在本例中為我們的LanguageWorkedWith列),并確定該行是否包含我們作為參數提供的任何字符串。如果該行確實包含該字符串參數,則將返回True,否則將返回False。
 

  知道了這一點,我們可以快速找出有多少受訪者在使用的語言中包含Python。我們將告訴Python我們要查看的系列(df["LanguageWorkedWith"]),然后將str.contains()其與參數一起使用Python。這將給我們一個布爾序列,然后我們要做的就是使用來計數“ True”響應的數量value_counts()。
 

  再一次,我們可以使用該參數normalize=True以百分比形式查看結果,而不是查看原始計數。

大數據分析
 

  這是獲得我們答案的一種快捷方法(幾乎所有開發人員中有42%使用Python!)。但是通常,我們可能希望能夠細分本專欄中的答案,以進行更深入的分析。
 

  舉例來說,我們想弄清楚提及每種語言的頻率。要使用上面的代碼來完成此操作,我們需要知道每個可能的響應,然后針對每個可能的答案運行類似于以上代碼的內容。
 

  在某些情況下,這可能是可行的,但如果有大量潛在答案(例如,如果允許受訪者選擇“其他”選項并填寫自己的選擇),則該方法可能不可行。相反,我們需要使用我們之前找到的定界符將每個答案分開。
 

  就像我們Series.str.contains以前看過pandas系列中的字符串是否包含子字符串一樣,我們可以Series.string.split基于定界分隔該系列中的每一行,并將其作為參數傳遞給該函數。在這種情況下,我們知道定界符為;,因此我們可以使用.str.split(';')。
 

  我們也將增加一個額外的參數,expand=True以str.split()。通過將每種語言設置為自己的列(每行仍代表一個受訪者),這將從我們的系列中創建一個新的數據框。您可以在此處閱讀有關其工作原理的更多信息。
 

  讓我們在該'LanguageWorkedWith'列上運行該代碼,并將結果存儲為名為的新熊貓系列lang_lists。

大數據分析


  如我們所見,字符串拆分有效?,F在,我們系列中的每一行都是新數據框中的一行,并且每種語言都已從其他語言拆分為唯一的列。
 

  但是我們想弄清楚每種語言被提及過多少次,我們還沒有完成。value_counts()在這里無濟于事-我們只能在pandas系列上使用它,而不能在DataFrame上使用它。
 

  為了能夠看到每種語言被提及的總次數,我們需要做更多的工作。我們可以采用多種方法來解決此問題,但這是一種:
 

  a.使用df.stack()堆棧該數據幀,把每個列,然后互相使頂部堆疊它們每一個在數據幀的數據點出現在一個單一的熊貓系列。

  b.value_counts()在這個新的“堆疊式”系列上 使用,可以得出提到每種語言的總次數。
 

  這有點復雜,所以讓我們先用一個簡單的示例進行嘗試,以便我們可以直觀地觀察正在發生的事情。我們將從與十分相似的DataFame開始lang_lists,但它要短得多,以便更容易理解。
 

  這是我們的DataFrame(由于這不是我們真實數據集的一部分,因此您可能不想嘗試與此代碼一起編寫代碼,只需閱讀此頁上的代碼并嘗試了解正在發生的事情):

大數據分析
 

  首先,我們將使用.stack()該數據幀進行分割,然后將各列彼此堆疊。請注意,發生這種情況時,將自動刪除插入到上述數據框中的空值。

大數據分析
 

  這是發生的事情的動畫視圖:

大數據分析
 

  現在,我們已經將每個答案堆疊到一個系列中,可以value_counts()用來計算總數:

大數據分析
 

  那就是我們需要的原始計數!請注意,normalize=True此處無法使用基于百分比的讀數,因為該計算基于序列的長度,該序列有9行,而我們的原始數據集只有3個響應。
 

  現在,我們知道如何執行此操作,讓我們使用已經創建的系列在真實數據集上嘗試相同的操作lang_lists。
 

大數據分析


  這就是我們正在尋找的信息!現在,讓我們通過使用與之前使用的相同繪圖方法直觀地繪制此信息的圖表,最后對我們的分析項目進行潤色。

大數據分析
 

  分析調查數據:后續步驟
 

  在本教程中,我們介紹了一些使用Python分析調查數據的基本方法。盡管閱讀了很長時間,但如果回頭看,您會發現我們實際上只使用了幾行代碼。一旦掌握了這些要點,進行這種分析實際上非???
 

  當然,我們只是在這里刮了一下表面。您還可以做更多的事情,尤其是對于如此龐大的數據集。如果您正在尋找挑戰,可以嘗試回答以下問題。
 

  a.如果您根據以上數據計算出的百分比除以調查受訪者總數(88,883),您會發現它們與StackOverflow報告的數字并不完全相同。這是因為少數受訪者沒有回答語言問題。您如何找到并計算這些受訪者,以找到列出每種語言的受訪者的確切百分比?

  b.上面的結果為我們提供了在所有接受調查的開發人員中使用最流行的語言,但是此調查的另一個問題確定了不同類型的角色,包括數據科學家,數據分析師等。您是否可以創建一個圖表來顯示最受歡迎的語言數據專業人員之間?


 

?2007-2019/北京漫動者教育科技有限公司版權所有
備案號:京ICP備12034770號

?2007-2019/ www.zhuozheng31.icu 北京漫動者教育科技有限公司 備案號:京ICP備12034770號 監督電話:010-62568622 郵箱:bjaaa@aaaedu.cc

久久久大香菇精品