旗下產業(yè): A產業(yè)/?A實習/?A計劃
全國統(tǒng)一咨詢熱線:010-5367 2995
首頁 > 熱門文章 > 大數據分析 > 如何將Excel和Python和Pandas結合使用

如何將Excel和Python和Pandas結合使用

時間:2020-10-06來源:www.5wd995.cn點擊量:作者:Sissi
時間:2020-10-06點擊量:作者:Sissi



  如何將Excel和Python和Pandas結合使用?為什么要學習在Python中使用Excel? Excel是最流行和廣泛使用的數據工具之一。很難找到一個不以某種方式與之合作的組織。從分析師到銷售副總裁,再到首席執(zhí)行官,各種專業(yè)人員都使用Excel進行快速統(tǒng)計和嚴重的數據處理。
 

  隨著Excel的普及,數據專業(yè)人員必須熟悉它。與Python的UI相比,使用Python或R處理數據具有明顯的優(yōu)勢,因此找到一種使用代碼使用Excel的方法至關重要。值得慶幸的是,已經有一個很棒的工具叫做,可以在Python中使用Excel pandas。
 

  Pandas具有從Excel文件讀取各種數據的出色方法。您也可以將結果從Pandas導出回Excel,如果您的目標受眾更喜歡的話。Pandas非常適合其他常規(guī)數據分析任務,例如:
 

  1)快速探索性數據分析(EDA)

  2)繪制有吸引力的地塊

  3)將數據輸入到scikit-learn等機器學習工具中

  4)在數據上建立機器學習模型

  5)將清理和處理過的數據帶入任意數量的數據工具
 

  Pandas在自動化數據處理任務方面比Excel更好,包括處理Excel文件。
 

  在如何將Excel和Python和Pandas結合使用中,我們將向您展示如何使用Pandas中的Excel文件。我們將介紹以下概念。
 

  1)使用必要的軟件設置計算機

  2)將數據從Excel文件讀入Pandas

  3)Pandas數據探索

  4)使用matplotlib可視化庫可視化Pandas中的數據

  5)在Pandas中處理和重塑數據

  6)將數據從Pandas移動到Excel
 

  請注意,如何將Excel和Python和Pandas結合使用并未深入探討Pandas。要進一步探索Pandas,請查看我們的課程。
 

  系統(tǒng)先決條件
 

  在如何將Excel和Python和Pandas結合使用中,我們將使用Python 3和Jupyter Notebook演示代碼。
 

  除了Python和Jupyter Notebook,您還將需要以下Python模塊:
 

  1)matplotlib –數據可視化

  2)NumPy –數值數據功能

  3)OpenPyXL –讀/寫Excel 2010 xlsx / xlsm文件

  4)大Pandas–數據導入,清理,探索和分析

  4)xlrd –讀取Excel數據

  5)xlwt –寫入Excel

  6)XlsxWriter –寫入Excel(xlsx)文件
 

  設置所有模塊有多種方法。我們在下面介紹三種最常見的方案。
 

  1)如果通過Anaconda軟件包管理器安裝了Python ,則可以使用以下命令安裝所需的模塊conda install。例如,要安裝Pandas,您將執(zhí)行命令– conda install pandas。

  2)如果您已經在計算機上安裝了常規(guī)的非Anaconda Python,則可以使用來安裝所需的模塊pip。打開命令行程序并執(zhí)行命令pip install 以安裝模塊。您應該用要安裝的模塊的實際名稱替換。例如,要安裝Pandas,您將執(zhí)行命令– pip install pandas。

  3)如果尚未安裝Python,則應通過Anaconda軟件包管理器進行獲取。Anaconda提供了適用于Windows,Mac和Linux計算機的安裝程序。如果選擇完整的安裝程序,則將在一個軟件包中獲得所需的所有模塊以及Python和pandas。這是最簡單,最快的入門方法。
 

  數據集
 

  在如何將Excel和Python和Pandas結合使用中,我們將使用由Kaggle的IMDB分數數據創(chuàng)建的多頁Excel文件。

如何將Excel和Python和Pandas結合使用
 

  我們的Excel文件分為三頁:“ 1900年代”,“ 2000年代”和“ 2010年代”。每張紙都包含那幾年的電影數據。
 

  我們將使用此數據集來查找電影的收視率分布,可視化具有最高收視率和凈收入的電影,并計算有關電影的統(tǒng)計信息。我們將使用Python和pandas分析和探索這些數據,從而展示pandas在Python中處理Excel數據的功能。
 

  從Excel文件中讀取數據
 

  我們需要首先將數據從Excel文件導入到Pandas中。為此,我們首先導入pandas模塊。

如何將Excel和Python和Pandas結合使用
 

  然后,我們使用Pandas的read_excel方法從Excel文件中讀取數據。調用此方法的最簡單方法是傳遞文件名。如果未指定工作表名稱,則它將讀取索引中的第一張工作表(如下所示)。

如何將Excel和Python和Pandas結合使用
 

  在此,該read_excel方法將數據從Excel文件讀取到pandas DataFrame對象中。Pandas默認將數據存儲在DataFrames中。然后,我們將此DataFrame存儲到名為的變量中movies。
 

  Pandas有一個內置DataFrame.head()方法,我們可以使用它輕松顯示DataFrame的前幾行。如果未傳遞任何參數,它將顯示前五行。如果傳遞了一個數字,它將從頂部開始顯示相等的行數。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  Excel文件通常具有多個工作表,并且讀取特定工作表或全部工作表的功能非常重要。為了簡化此過程,pandasread_excel方法采用了一個稱為的參數sheetname,該參數告訴pandas從數據中讀取哪張紙。為此,您可以使用工作表名稱或工作表編號。工作表編號從零開始。如果sheetname未提供參數,則默認為零,Pandas將導入第一張紙。
 

  默認情況下,pandas將自動分配一個從零開始的數字索引或行標簽。如果您的數據沒有具有唯一值的列,可以用作更好的索引,則可能需要保留默認索引。如果您認為有一個列可以用作更好的索引,則可以通過將index_col屬性設置為列來覆蓋默認行為。它使用一個數值來將單個列設置為索引,或者使用數值列表來創(chuàng)建一個多索引。
 

  在下面的代碼中,我們通過將零傳遞給index_col參數來選擇第一列“標題”作為索引(index = 0)。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  如上所述,我們的Excel數據文件分為三頁。我們已經閱讀了上面的DataFrame中的第一張表。現在,使用相同的語法,我們還將閱讀其余兩頁。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  由于所有三個工作表都具有相似的數據,但記錄運動不同,因此我們將根據上面創(chuàng)建的所有三個數據幀創(chuàng)建一個單獨的數據幀。concat為此,我們將使用pandas方法,并傳入剛剛創(chuàng)建的三個DataFrame的名稱,并將結果分配給新的DataFrame對象movies。通過保持DataFrame名稱與以前相同,我們將覆蓋先前創(chuàng)建的DataFrame。

如何將Excel和Python和Pandas結合使用
 

  我們可以通過調用組合后的DataFrame中的行數來檢查該串聯(lián),方法是調用組合后的DataFrame中的方法shape,該方法將為我們提供行數和列數。

如何將Excel和Python和Pandas結合使用
 

  使用ExcelFile類讀取多張工作表
 

  我們還可以使用ExcelFile類來處理來自同一Excel文件的多個工作表。我們首先使用來包裝Excel文件ExcelFile,然后將其傳遞給read_excelmethod。

如何將Excel和Python和Pandas結合使用
 

  如果您正在閱讀包含大量圖紙的Excel文件并創(chuàng)建大量DataFrame,ExcelFile則與相比,它更加便捷高效read_excel。使用ExcelFile,您只需傳遞一次Excel文件,然后就可以使用它來獲取DataFrame。使用時read_excel,您每次都會傳遞Excel文件,因此會為每張紙再次加載該文件。如果Excel文件中包含許多行數很多的工作表,這可能會極大地拖累性能。
 

  探索數據
 

  現在,我們已經從Excel文件中讀取了電影數據集,我們可以開始使用Pandas進行探索了。大PandasDataFrame以表格格式存儲數據,就像Excel在表格中顯示數據的方式一樣。Pandas有很多內置方法來探索我們從剛剛讀入的Excel文件中創(chuàng)建的DataFrame。
 

  我們已經head在上一節(jié)中介紹了該方法,該方法從DataFrame的頂部開始顯示幾行。讓我們看看在探索數據集時會派上用場的其他幾種方法。
 

  我們可以使用該shape方法找出DataFrame的行數和列數。

如何將Excel和Python和Pandas結合使用
 

  這告訴我們我們的Excel文件具有5042條記錄和25列或觀察值。這對于報告記錄和列的數量并將其與源數據集進行比較很有用。
 

  我們可以使用該tail方法查看底部的行。如果未傳遞任何參數,則僅返回底部的五行。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  在Excel中,您可以根據一列或多列中的值對工作表進行排序。在Pandas中,您可以使用該sort_values方法執(zhí)行相同的操作。例如,讓我們根據“總收入”列對電影數據幀進行排序。


如何將Excel和Python和Pandas結合使用

  由于我們將數據按列中的值排序,因此我們可以做一些有趣的事情。例如,我們可以顯示總收入前10名電影。

如何將Excel和Python和Pandas結合使用
 

  我們還可以為《總收入》中的前十部電影創(chuàng)建情節(jié)。通過流行的數據可視化庫matplotlib,Pandas可以很容易地用繪圖和圖表可視化數據。用幾行代碼,您就可以開始繪圖。此外,由于您可以在代碼下直接放置圖表,因此matplotlib圖表在Jupyter Notebook中可以很好地工作。
 

  首先,我們導入matplotlib模塊并設置matplotlib以在Jupyter Notebook中直接顯示圖。

如何將Excel和Python和Pandas結合使用
 

  我們將繪制一個條形圖,其中每個條形將代表前十部電影之一。為此,我們可以調用plot方法并將參數設置kind為barh。這告訴matplotlib您繪制水平條形圖。

如何將Excel和Python和Pandas結合使用
 

  讓我們創(chuàng)建一個IMDB分數的直方圖,以檢查IMDB分數在所有電影中的分布。直方圖是可視化數據集分布的好方法。我們使用plot電影讓我們創(chuàng)建一個IMDB分數的直方圖,以檢查IMDB分數在所有電影中的分布。直方圖是可視化數據集分布的好方法。我們使用plot電影數據幀中IMDB Scores系列的方法,并將其傳遞給參數。數據幀中IMDB Scores系列的方法,并將其傳遞給參數。

如何將Excel和Python和Pandas結合使用
 

  此數據可視化表明,大多數IMDB分數介于6到8之間。
 

  獲取有關數據的統(tǒng)計信息
 

  Pandas有一些非常方便的方法來查看有關我們數據集的統(tǒng)計數據。例如,我們可以使用該describe方法來獲取數據集的統(tǒng)計摘要。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  該describe方法為每個列顯示以下信息。
 

  1)值的數量或數量

  2)意思

  3)標準偏差

  4)最小,最大

  5)25%,50%和75%的分位數
 

  請注意,此信息僅針對數字值進行計算。
 

  我們還可以使用相應的方法一次訪問此信息。例如,要獲取特定列的均值,可以使用該mean列上的方法。

如何將Excel和Python和Pandas結合使用
 

  就像平均值一樣,我們要訪問的每種統(tǒng)計信息都有可用的方法。您可以在我們的免費Pandas備忘單上閱讀有關這些方法的信息。
 

  讀取沒有標題的文件并跳過記錄
 

  在如何將Excel和Python和Pandas結合使用的前面,我們看到了一些方法來讀取一種特殊的Excel文件,該文件具有標題并且沒有需要跳過的行。有時,Excel工作表沒有任何標題行。對于此類情況,您可以告訴Pandas不要將第一行視為標題或列名。并且,如果Excel工作表的前幾行包含不應讀取的數據,則可以要求該read_excel方法從頂部開始跳過一定數量的行。
 

  例如,查看此Excel文件的前幾行。

如何將Excel和Python和Pandas結合使用
 

  該文件顯然沒有標題,并且前四行不是實際記錄,因此不應讀入。通過將參數設置header為None,可以告訴read_excel沒有標題,并且可以通過將參數設置skiprows為4來跳過前四行。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  我們從工作表中跳過了四行,沒有任何行用作標題。另外,請注意,可以在一個read語句中組合不同的選項。要跳過工作表底部的行,可以使用option skip_footer,它的作用與一樣skiprows,唯一的區(qū)別是行是從底部向上計數的。
 

  前一個DataFrame中的列名稱是數字,并且由Pandas默認分配。通過columns在DataFrame上調用方法并將列名作為列表傳遞,我們可以將列名重命名為描述性名稱。

如何將Excel和Python和Pandas結合使用

 

  現在,我們已經了解了如何從Excel文件讀取行的子集,我們可以學習如何讀取列的子集。
 

  讀取列的子集
 

  盡管read_excel默認為讀取和導入所有列,但是您可以選擇僅導入某些列。通過傳遞parse_cols = 6,我們告訴該read_excel方法僅讀取第一列,直到索引為六或前七個列(第一列的索引為零)。

如何將Excel和Python和Pandas結合使用
 

  或者,您可以傳入一個數字列表,這將使您可以導入特定索引處的列。
 

  在列上應用公式
 

  Excel的常用功能之一是應用公式從現有列值創(chuàng)建新列。在我們的Excel文件中,我們有“總收入”和“預算”列。我們可以通過從總收入中減去預算來獲得凈收入。然后,我們可以將此公式在Excel文件中應用于所有行。我們也可以在Pandas中做到這一點,如下所示。

如何將Excel和Python和Pandas結合使用
 

  上面,我們使用Pandas創(chuàng)建了一個名為“凈收入”的新列,并在其中填充了“總收入”和“預算”的差額。值得注意的是,Excel和Pandas在公式處理方式上的區(qū)別。在Excel中,公式存在于單元格中,并在數據更改時更新-使用Python,會進行計算并存儲值-如果手動更改了一部電影的總收入,則不會更新凈收入。
 

  讓我們使用該sot_values方法按照創(chuàng)建的新列對數據進行排序,并按“凈收入”顯示前十部電影。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  Pandas數據透視表
 

  高級Excel用戶還經常使用數據透視表。數據透視表通過將數據分組到索引上并應用諸如排序,求和或求平均之類的操作來匯總另一個表的數據。您也可以在Pandas中使用此功能。
 

  我們需要首先確定將用作索引的一列或多列,以及將在其上應用匯總公式的列。讓我們從小處開始,選擇Year作為索引列,選擇Gross Earnings作為匯總列,然后從該數據創(chuàng)建一個單獨的DataFrame。
 

如何將Excel和Python和Pandas結合使用
 

  現在pivot_table,我們調用該數據子集。該方法pivot_table帶有一個參數index。如前所述,我們要使用Year作為索引。
 

如何將Excel和Python和Pandas結合使用
 

  這為我們提供了一個樞紐分析表,其中按年份分組并匯總了總收入。注意,我們不需要明確指定“總收入”列,因為Pandas會自動將其標識為應應用匯總的值。
 

  我們可以使用該數據透視表創(chuàng)建一些數據可視化。我們可以plot在DataFrame上調用該方法以創(chuàng)建線圖,并調用該show方法以在筆記本中顯示該圖。

如何將Excel和Python和Pandas結合使用
 

  我們看到了如何以單個列作為索引進行數據透視。如果我們可以使用多列,事情將會變得更加有趣。讓我們創(chuàng)建另一個DataFrame子集,但是這次我們將選擇“國家/地區(qū)”,“語言”和“總收入”列。

如何將Excel和Python和Pandas結合使用
 

  我們將使用“國家”和“語言”列作為數據透視表的索引。我們將使用毛收入作為匯總表,但是,我們不需要像前面看到的那樣明確地指定它。

如何將Excel和Python和Pandas結合使用
 

  讓我們用條形圖可視化此數據透視表。由于此數據透視表中仍然有幾百條記錄,因此我們將只繪制其中的幾條。

如何將Excel和Python和Pandas結合使用
 

  將結果導出到Excel
 

  如果您要與使用Excel的同事一起工作,則將Excel文件保存在Pandas之外非常重要。您可以使用pandasto_excel方法將pandas DataFrame導出或寫入Excel文件。Pandasxlwt內部使用Python模塊來寫入Excel文件。該to_excel方法在我們要導出的DataFrame上調用,我們還需要傳遞一個將寫入此DataFrame的文件名。

如何將Excel和Python和Pandas結合使用
 

  默認情況下,索引也保存到輸出文件中。但是,有時索引不提供任何有用的信息。例如,moviesDataFrame具有數字自動增量索引,該索引不是原始Excel數據的一部分。

如何將Excel和Python和Pandas結合使用
如何將Excel和Python和Pandas結合使用
 

  您可以通過傳遞index-False來選擇跳過索引。

如何將Excel和Python和Pandas結合使用
 

  我們需要能夠使輸出文件看起來更好,然后才能將其發(fā)送給我們的同事。我們可以將pandasExcelWriter類與XlsxWriterPython模塊一起使用以應用格式。
 

  我們可以通過創(chuàng)建一個ExcelWriter對象來使用這些高級輸出選項,并使用該對象寫入EXcel文件。

如何將Excel和Python和Pandas結合使用
 

  我們可以通過調用add_format要寫入的工作簿來應用自定義項。在這里,我們將標題格式設置為粗體。

如何將Excel和Python和Pandas結合使用
 

  最后,我們通過save在writer對象上調用方法來保存輸出文件。

如何將Excel和Python和Pandas結合使用
 

  例如,我們保存的數據的列標題設置為粗體。保存的文件如下圖所示。
 

  這樣,可以XlsxWriter將各種格式應用于輸出的Excel文件。

如何將Excel和Python和Pandas結合使用
 

  結論
 

  Pandas不能替代Excel。兩種工具在數據分析工作流程中都有自己的位置,并且可以成為非常出色的輔助工具。正如我們所展示的,Pandas可以執(zhí)行許多復雜的數據分析和操作,這取決于您的需要和專業(yè)知識,可能超出僅使用Excel所能實現的范圍。在Excel上使用Python和Pandas的主要好處之一是,它可以通過編寫腳本并與自動化數據工作流程集成來幫助您自動化Excel文件處理。Pandas還具有從Excel文件讀取各種數據的出色方法。如果您的目標受眾更喜歡將結果從Pandas導出回Excel,則也可以。
 

  另一方面,Excel是一個如此廣泛使用的數據工具,忽略它不是一個明智的選擇。掌握Pandas和Excel方面的專業(yè)知識并使其協(xié)同工作,可以為您提供技能,幫助您在組織中脫穎而出。



 

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可先就業(yè)掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業(yè)?一地學習,可推薦就業(yè)!

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

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

京公網安備 11010802035704號

網站地圖