旗下產(chǎn)業(yè): A產(chǎn)業(yè)/?A實(shí)習(xí)/?A計(jì)劃
全國(guó)統(tǒng)一咨詢熱線:010-5367 2995
首頁(yè) > 熱門(mén)文章 > 大數(shù)據(jù)分析 > Excel或Python如何執(zhí)行大數(shù)據(jù)分析任務(wù)

Excel或Python如何執(zhí)行大數(shù)據(jù)分析任務(wù)

時(shí)間:2020-05-15來(lái)源:5wd995.cn點(diǎn)擊量:作者:Sissi
時(shí)間:2020-05-15點(diǎn)擊量:作者:Sissi



  在Excel或Python如何執(zhí)行大數(shù)據(jù)分析任務(wù)文章中,我們將通過(guò)研究如何在兩個(gè)平臺(tái)上執(zhí)行基本分析任務(wù)來(lái)比較Excel和Python。
 

  Excel是世界上最常用的數(shù)據(jù)分析軟件。為什么?一旦掌握了它,就很容易掌握并具有強(qiáng)大的功能。相比之下,Python的聲譽(yù)在于它更難使用,盡管一旦您了解到它幾乎是無(wú)限的,就可以使用它。
 

  但是,這兩個(gè)數(shù)據(jù)分析工具實(shí)際上如何比較?他們的聲譽(yù)并不能真正反映現(xiàn)實(shí)。在本教程中,我們將研究一些常見(jiàn)的數(shù)據(jù)分析任務(wù),以演示Python數(shù)據(jù)分析的可訪問(wèn)性。
 

  本教程假定您具有Excel的中級(jí)知識(shí),包括使用公式和數(shù)據(jù)透視表。
 

  我們將使用Python庫(kù)pandas,該旨在幫助Python中的數(shù)據(jù)分析,但是本教程不需要任何Python或pandas知識(shí)。
 

  為什么要使用Python vs Excel?
 

  在開(kāi)始之前,您可能想知道為什么Python甚至值得考慮。您為什么不能只繼續(xù)使用Excel?
 

  盡管Excel很棒,但是在某些領(lǐng)域中,某些類型的數(shù)據(jù)分析可以使像Python這樣的編程語(yǔ)言更好。這是來(lái)自我們的帖子的一些原因:Excel用戶應(yīng)考慮學(xué)習(xí)編程的9個(gè)理由:
 

  a.您幾乎可以讀取和處理任何類型的數(shù)據(jù)。

  b.自動(dòng)化和重復(fù)性的任務(wù)更加容易。

  c.處理大型數(shù)據(jù)集非常重要更快,更容易。

  d.其他人可以更輕松地復(fù)制和審核您的工作。

  e.查找和修復(fù)錯(cuò)誤更容易。

  f.Python是開(kāi)放源代碼,因此您可以查看所使用的庫(kù)背后的內(nèi)容。

  g.先進(jìn)的統(tǒng)計(jì)和機(jī)器學(xué)習(xí)功能。

  h.先進(jìn)的數(shù)據(jù)可視化功能。

  i.跨平臺(tái)穩(wěn)定性-您的分析可以在任何計(jì)算機(jī)上運(yùn)行。
 

  需要明確的是,我們不主張將Excel拋在后面-這是一個(gè)功能強(qiáng)大的工具,用途廣泛!但是,作為Excel用戶,也可以利用Python的功能可以節(jié)省您的時(shí)間,并開(kāi)拓職業(yè)發(fā)展機(jī)會(huì)。
 

  值得記住的是,這兩個(gè)工具可以協(xié)同工作,并且您可能會(huì)發(fā)現(xiàn)某些任務(wù)最好留在Excel中,而另一些則可以從Python提供的功能,靈活性和透明性中受益。
 

  導(dǎo)入我們的數(shù)據(jù)
 

  首先,讓我們熟悉本教程要使用的數(shù)據(jù)。我們將使用有關(guān)銷售人員的虛構(gòu)數(shù)據(jù)。這是我們的數(shù)據(jù)在Excel中的樣子:

AAA教育
 

  我們的數(shù)據(jù)保存為名為的CSV文件sales.csv。為了將數(shù)據(jù)導(dǎo)入熊貓,我們需要先導(dǎo)入熊貓庫(kù)本身。

大數(shù)據(jù)分析
 

  上面的代碼導(dǎo)入pandas并將其作為語(yǔ)法的別名pd。這聽(tīng)上去很復(fù)雜,但這實(shí)際上只是一種昵稱-這意味著在將來(lái)我們可以pd用來(lái)指代pandas這樣我們就不必每次都鍵入完整的單詞。
 

  要閱讀我們的文件,我們使用pd.read_csv():

大數(shù)據(jù)分析
大數(shù)據(jù)分析
 

  我們將結(jié)果分配給了pd.read_csv()一個(gè)名為的變量sales,該變量將用于引用我們的數(shù)據(jù)。我們還在代碼的最后一行中單獨(dú)放置了變量名,該變量名將數(shù)據(jù)打印在格式良好的表中。
 

  立即,我們可以注意到熊貓表示數(shù)據(jù)與在Excel中看到的數(shù)據(jù)之間存在一些差異:
 

  a.在熊貓中,行號(hào)從0到1在Excel中開(kāi)始。
 

  b.大熊貓中的列名稱取自數(shù)據(jù),而Excel中的列使用字母標(biāo)記。
 

  c.在原始數(shù)據(jù)中缺少值的地方,pandas具有占位符NaN,指示該值丟失,或者為null。
 

  d.銷售數(shù)據(jù)的每個(gè)值都有一個(gè)小數(shù)點(diǎn),因?yàn)樾茇埓鎯?chǔ)的數(shù)值包含null(NaN)作為稱為float的數(shù)值類型(這對(duì)我們沒(méi)有任何影響,但我們只想解釋為什么)。
 

  在學(xué)習(xí)第一個(gè)熊貓操作之前,我們將快速學(xué)習(xí)一些有關(guān)如何存儲(chǔ)數(shù)據(jù)的知識(shí)。
 

  讓我們使用type()函數(shù)查看sales變量的類型:

大數(shù)據(jù)分析
 

  此輸出告訴我們sales變量是一個(gè)DataFrame對(duì)象,這是熊貓中特定類型的對(duì)象。在熊貓中,大多數(shù)時(shí)候我們想要修改數(shù)據(jù)框時(shí),都會(huì)使用一種稱為數(shù)據(jù)框方法的特殊語(yǔ)法,該語(yǔ)法使我們能夠訪問(wèn)與數(shù)據(jù)框?qū)ο笙嚓P(guān)的特定功能。當(dāng)我們?cè)谛茇堉型瓿傻谝粋€(gè)任務(wù)時(shí),我們將看到一個(gè)例子!
 

  排序數(shù)據(jù)
 

  讓我們學(xué)習(xí)如何在Excel和Python中對(duì)數(shù)據(jù)進(jìn)行排序。目前,我們的數(shù)據(jù)尚未排序。在Excel中,如果我們想按"Start Date"列對(duì)數(shù)據(jù)進(jìn)行排序,我們將:
 

  選擇我們的數(shù)據(jù)。
 

  單擊工具欄上的“排序”按鈕。
 

  在打開(kāi)的對(duì)話框中選擇“開(kāi)始日期”。

大數(shù)據(jù)分析
 

  在大熊貓中,我們使用該DataFrame.sort_values()方法。剛才我們簡(jiǎn)要提到了方法。為了使用它們,我們必須替換DataFrame為我們要對(duì)該方法應(yīng)用的數(shù)據(jù)框的名稱-在這種情況下sales。如果您使用過(guò)Python中的列表,那么您會(huì)熟悉該list.append()方法中的這種模式。
 

  我們?yōu)榉椒ㄌ峁┝忻?,以告訴該列按其排序:

大數(shù)據(jù)分析
大數(shù)據(jù)分析
 

  我們數(shù)據(jù)框中的值已經(jīng)用一行簡(jiǎn)單的熊貓代碼進(jìn)行了排序!
 

  總結(jié)銷售價(jià)值

  我們數(shù)據(jù)的最后三列包含一年前三個(gè)月(稱為第一季度)的銷售價(jià)值。我們的下一個(gè)任務(wù)是將Excel和Python中的這些值相加。
 

  讓我們開(kāi)始看看如何在Excel中實(shí)現(xiàn)此目標(biāo):
 

  a."Sales Q1"在單元格中輸入新的列名H1。

  b.在單元格H2中,使用 SUM()公式并使用其坐標(biāo)指定單元格的范圍。

  c.將公式向下拖動(dòng)到所有行。

大數(shù)據(jù)分析

 

  在熊貓中,當(dāng)我們執(zhí)行操作時(shí),它將自動(dòng)自動(dòng)將其應(yīng)用于每一行。我們將通過(guò)在列表中使用它們的名稱來(lái)選擇三列:

大數(shù)據(jù)分析
大數(shù)據(jù)分析
 

  接下來(lái),我們將使用DataFrame.sum()方法并指定axis=1,它告訴熊貓我們要對(duì)行求和而不是對(duì)列求和。我們將通過(guò)在方括號(hào)內(nèi)提供新的列名稱來(lái)指定它:

大數(shù)據(jù)分析
大數(shù)據(jù)分析
 

  在熊貓中,我們使用的“公式”不會(huì)存儲(chǔ)。而是將結(jié)果值直接添加到我們的數(shù)據(jù)框中。如果我們想對(duì)新列中的值進(jìn)行調(diào)整,則需要編寫(xiě)新代碼來(lái)完成。
 

  加入經(jīng)理數(shù)據(jù)
 

  在我們的電子表格中,我們還有一小段數(shù)據(jù)表,說(shuō)明誰(shuí)管理每個(gè)團(tuán)隊(duì):
 

大數(shù)據(jù)分析

  讓我們看看如何"Manager"在Excel和Python 的列中將這些數(shù)據(jù)聯(lián)接起來(lái)。在Excel中,我們:
 

  a.首先將列名稱添加到cell中I1。

  b.使用VLOOKUP()cell中的公式I2,指定:

  從單元格B2(部門(mén)) 查找值

  在選擇經(jīng)理數(shù)據(jù)時(shí),我們使用坐標(biāo)指定

  并且我們想要從該數(shù)據(jù)的第二列中選擇值。

  c.單擊并將公式向下拖動(dòng)到所有單元格。

大數(shù)據(jù)分析

  要在熊貓中使用此數(shù)據(jù),首先,我們需要從第二個(gè)CSV導(dǎo)入它managers.csv:

大數(shù)據(jù)分析
大數(shù)據(jù)分析
 

  為了將maangers數(shù)據(jù)連接到sales使用熊貓,我們將使用pandas.merge()函數(shù)。我們按順序提供以下參數(shù):
 

  a.sales:我們要合并的第一個(gè)或左側(cè)數(shù)據(jù)框的名稱

  b.managers:我們要合并的第二個(gè)或正確數(shù)據(jù)框的名稱

  c.how='left':我們要用于聯(lián)接數(shù)據(jù)的方法。在left加入指定,無(wú)論什么時(shí)候,我們希望將所有的行從我們的左(第一)數(shù)據(jù)幀。

  d.on='Department':我們將要加入的兩個(gè)數(shù)據(jù)框中的列名。

大數(shù)據(jù)分析
大數(shù)據(jù)分析
 

  如果乍一看這有點(diǎn)令人困惑,那就可以了。在Python中用于聯(lián)接數(shù)據(jù)的模型與Excel中所使用的模型不同,但它的功能也強(qiáng)大得多。請(qǐng)注意,在Python中,我們可以精確地指定使用清晰的語(yǔ)法和列名如何連接數(shù)據(jù)。
 

  添加條件列
 

  如果我們看一下 "End Date"專欄,我們可以看到并非所有員工仍在公司工作-缺少價(jià)值的員工仍然受雇,而其余員工則離開(kāi)了。我們的下一個(gè)任務(wù)是創(chuàng)建一個(gè)列,該列告訴我們每個(gè)銷售人員是否是當(dāng)前員工。我們將在Excel和Python中執(zhí)行此操作。
 

  從Excel開(kāi)始,要添加此列,我們:
 

  a.向cell添加一個(gè)新的列名J1。

  b.使用IF()公式來(lái)檢查電池D1(終止日期)為空,如果是填充J2用TRUE,否則FALSE。

  c.將公式向下拖動(dòng)到下面的單元格。

大數(shù)據(jù)分析
 

  在熊貓中,我們使用該pandas.isnull()函數(shù)檢查"End Date"列中的空值,并將結(jié)果分配給新列:

大數(shù)據(jù)分析
大數(shù)據(jù)分析
 

  數(shù)據(jù)透視表
 

  樞紐分析表是Excel最強(qiáng)大的功能之一,它可以方便地使用聚合進(jìn)行數(shù)據(jù)分析。我們將研究Excel和Python中的兩個(gè)不同的數(shù)據(jù)透視表應(yīng)用程序。
 

  我們將從Excel中的數(shù)據(jù)透視表開(kāi)始,該數(shù)據(jù)表計(jì)算每個(gè)部門(mén)的員工人數(shù):

大數(shù)據(jù)分析
 

  這種操作(計(jì)算值在列中出現(xiàn)的次數(shù))非常普遍,以至于它在熊貓中有自己的語(yǔ)法:Series.value_counts()。
 

  系列類型是本教程的新增內(nèi)容,但與我們已經(jīng)了解的DataFrame非常相似。系列只是單個(gè)行或列的熊貓表示。
 

  讓我們使用pandas方法來(lái)計(jì)算每個(gè)部門(mén)的員工人數(shù):

大數(shù)據(jù)分析
 

  第二個(gè)數(shù)據(jù)透視表示例也按部門(mén)進(jìn)行匯總,而是計(jì)算第一季度的平均銷售額:

大數(shù)據(jù)分析

  為了以大熊貓計(jì)算,我們將使用DataFrame.pivot_table()方法。我們需要指定一些參數(shù):
 

  a.index:匯總依據(jù)的列。

  b.values:我們要使用其值的列。

  c.aggfunc:我們要使用的聚合函數(shù),在這種情況下為'mean'平均值。

大數(shù)據(jù)分析
 

  Excel vs Python:摘要
 

  在本教程中,我們學(xué)習(xí)了以下Excel功能的Python等效項(xiàng):
 

  a.排序數(shù)據(jù)

  b.SUM()

  c.VLOOKUP()

  d.IF()

  e.數(shù)據(jù)透視表
 

  對(duì)于我們研究的每個(gè)示例,pandas語(yǔ)法的復(fù)雜度與您在Excel中使用的公式或菜單選項(xiàng)的復(fù)雜度相似。但是Python具有一些優(yōu)點(diǎn),例如更快地處理大型數(shù)據(jù)集,更多的自定義和復(fù)雜性,以及提高錯(cuò)誤檢查和審計(jì)的透明度(因?yàn)槟龅囊磺卸济鞔_地放置在代碼中,而不是隱藏在單元中)。
 

  精通Excel的人不僅僅具有跨越Python的能力。從長(zhǎng)遠(yuǎn)來(lái)看,將Python技能添加到您的技能中將使您成為一個(gè)更快,更強(qiáng)大的分析師,并且您將發(fā)現(xiàn)可以利用Excel和Python進(jìn)行工作的新工作流程,比單獨(dú)使用Excel可以進(jìn)行更高效,更強(qiáng)大的數(shù)據(jù)分析。
 

  如果您想學(xué)習(xí)如何在Python中分析數(shù)據(jù),我們的Python 數(shù)據(jù)分析器路徑旨在教您所有需要了解的內(nèi)容,即使您以前從未編寫(xiě)過(guò)代碼。在開(kāi)始學(xué)習(xí)我們?cè)诒窘坛讨惺褂眠^(guò)的pandas庫(kù)之前,您將從兩門(mén)課程開(kāi)始,它們將教您Python的基礎(chǔ)知識(shí)。



 

預(yù)約申請(qǐng)免費(fèi)試聽(tīng)課

填寫(xiě)下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽(tīng)!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費(fèi)! 怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!

?2007-2021/北京漫動(dòng)者教育科技有限公司版權(quán)所有
備案號(hào):京ICP備12034770號(hào)

?2007-2022/ 5wd995.cn 北京漫動(dòng)者數(shù)字科技有限公司 備案號(hào): 京ICP備12034770號(hào) 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc

京公網(wǎng)安備 11010802035704號(hào)

網(wǎng)站地圖