用Python輕鬆搞定Excel中的20個常用操作

2020-08-28 有夢有朋友60603

用Python輕鬆搞定Excel中的20個常用操作

Excel與Python都是數據分析中常用的工具,本文將使用動態圖(Excel)+代碼(Python)的方式來演示這兩種工具是如何實現數據的讀取、生成、計算、修改、統計、抽樣、查找、可視化、存儲等數據處理中的常用操作!

— 01 —

數據讀取


說明:讀取本地Excel數據

Excel

Excel讀取本地數據需要打開目標文件夾選中該文件並打開

Pandas

Pandas支持讀取本地Excel、txt文件,也支持從網頁直接讀取表格數據,只用一行代碼即可,例如讀取上述本地Excel數據可以使用pd.read_excel(&34;)

— 02 —

數據生成

說明:生成指定格式/數量的數據

Excel

以生成10*2的0—1均勻分布隨機數矩陣為例,在Excel中需要使用rand()函數生成隨機數,並手動拉取指定範圍

Pandas

在Pandas中可以結合NumPy生成由指定隨機數(均勻分布、正態分布等)生成的矩陣,例如同樣生成10*2的0—1均勻分布隨機數矩陣為,使用一行代碼即可:pd.DataFrame(np.random.rand(10,2))

— 03 —

數據存儲

說明:將表格中的數據存儲至本地

Excel

在Excel中需要點擊保存並設置格式/文件名

Pandas

在Pandas中可以使用pd.to_excel(&34;)來將當前工作表格保存至當前目錄下,當然也可以使用to_csv保存為csv等其他格式,也可以使用絕對路徑來指定保存位置

— 04 —

數據篩選

說明:按照指定要求篩選數據

Excel

使用我們之前的示例數據,在Excel中篩選出薪資大於5000的數據步驟如下

Pandas

在Pandas中,可直接對數據框進行條件篩選,例如同樣進行單個條件(薪資大於5000)的篩選可以使用df[df[&39;]>5000],如果使用多個條件的篩選只需要使用&(並)與|(或)操作符實現

— 05 —

數據插入

說明:在指定位置插入指定數據

Excel

在Excel中我們可以將光標放在指定位置並右鍵增加一行/列,當然也可以在添加時對數據進行一些計算,比如我們就可以使用IF函數(=IF(G2>10000,&34;,&34;)),將薪資大於10000的設為高,低於10000的設為低,添加一列在最後

Pandas

在pandas中,如果不藉助自定義函數的話,我們可以使用cut方法來實現同樣操作

bins = [0,10000,max(df[&39;])]

group_names = [&39;,&39;]

df[&39;] = pd.cut(df[&39;], bins, labels=group_names)

— 06 —

數據刪除

說明:刪除指定行/列/單元格

Excel

在Excel刪除數據十分簡單,找到需要刪除的數據右鍵刪除即可,比如刪除剛剛生成的最後一列

Pandas

在pandas中刪除數據也很簡單,比如刪除最後一列使用del df[&39;]即可

— 07 —

數據排序

說明:按照指定要求對數據排序

Excel

在Excel中可以點擊排序按鈕進行排序,例如將示例數據按照薪資從高到低進行排序可以按照下面的步驟進行

Pandas

在pandas中可以使用sort_values進行排序,使用ascending來控制升降序,例如將示例數據按照薪資從高到低進行排序可以使用df.sort_values(&34;,ascending=False,inplace=True)

— 08 —

缺失值處理

說明:對缺失值(空值)按照指定要求處理

Excel

在Excel中可以按照查找—>定位條件—>空值來快速定位數據中的空值,接著可以自己定義缺失值的填充方式,比如將缺失值用上一個數據進行填充。

Pandas

在pandas中可以使用data.isnull().sum()來檢查缺失值,之後可以使用多種方法來填充或者刪除缺失值,比如我們可以使用df = df.fillna(axis=0,method=&39;)來橫向/縱向用缺失值前面的值替換缺失值

— 09 —

數據去重

說明:對重複值按照指定要求處理

Excel

在Excel中可以通過點擊數據—>刪除重複值按鈕並選擇需要去重的列即可,例如對示例數據按照創建時間列進行去重,可以發現去掉了196 個重複值,保留了 629 個唯一值。

Pandas

在pandas中可以使用drop_duplicates來對數據進行去重,並且可以指定列以及保留順序,例如對示例數據按照創建時間列進行去重df.drop_duplicates([&39;],inplace=True),可以發現和Excel處理的結果一致,保留了 629 個唯一值。

— 10 —

格式修改

說明:修改指定數據的格式

Excel

在Excel中可以選中需要轉換格式的數據之後右鍵—>修改單元格格式來選擇我們需要的格式

Pandas

在Pandas中沒有一個固定修改格式的方法,不同的數據格式有著不同的修改方法,比如類似Excel中將創建時間修改為年-月-日可以使用df[&39;] = df[&39;].dt.strftime(&39;)

— 11 —

數據交換

說明:交換指定數據

Excel

在Excel中交換數據是很常用的操作,以交換示例數據中地址與崗位兩列為例,可以選中地址列,按住shift鍵並拖動邊緣至下一列鬆開即可

Pandas

在pandas中交換兩列也有很多方法,以交換示例數據中地址與崗位兩列為例,可以通過修改列號來實現

— 12 —

數據合併

說明:將兩列或多列數據合併成一列

Excel

在Excel中可以使用公式也可以使用Ctrl+E快捷鍵完成多列合併,以公式為例,合併示例數據中的地址+崗位列步驟如下

Pandas

在Pandas中合併多列比較簡單,類似於之前的數據插入操作,例如合併示例數據中的地址+崗位列使用df[&39;] = df[&39;] + df[&39;]

— 13 —

數據拆分

說明:將一列按照規則拆分為多列

Excel

在Excel中可以通過點擊數據—>分列並按照提示的選項設置相關參數完成分列,但是由於該列含有[]等特殊字符,所以需要先使用查找替換去掉。

Pandas

在Pandas中可以使用.split來完成分列,但是在分列完畢後需要使用merge來將分列完的數據添加至原DataFrame,對於分列完的數據含有[]字符,我們可以使用正則或者字符串lstrip方法進行處理,但因不是pandas特性,此處不再展開。

— 14 —

數據分組

說明:對數據進行分組計算

Excel

在Excel中對數據進行分組計算需要先對需要分組的欄位進行排序,之後可以通過點擊分類匯總並設置相關參數完成,比如對示例數據的學歷進行分組並求不同學歷的平均薪資

Pandas

在Pandas中對數據進行分組計算可以使用groupby輕鬆搞定,比如使用df.groupby(&34;).mean()一行代碼即可對示例數據的學歷進行分組並求不同學歷的平均薪資,結果與Excel一致

— 15 —

數據計算

說明:對數據進行一些計算

Excel

在Excel中有很多計算相關的公式,比如可以使用COUNTIFS來統計薪資大於10000的崗位數量有518個

Pandas

在Pandas中可以直接使用類似數據篩選的方法來統計薪資大於10000的崗位數量len(df[df[&34;]>10000])

— 16 —

數據統計

說明:對數據進行一些統計計算

Excel

在Excel中有很多統計相關的公式,也有現成的分析工具,比如對薪資水平列進行描述性統計分析,可以通過添加工具庫之後點擊數據分析按鈕並設置相關參數

Pandas

在pandas中也有現成的函數describe快速完成對數據的描述性統計,比如使用df[&34;].describe()即可得到薪資列的描述性統計結果

— 17 —

數據可視化

說明:對數據進行可視化

Excel

在Excel中可以通過點擊插入並選擇圖表來快速完成對數據的可視化,比如製作薪資的直方圖,並且有很多樣式可以直接使用

Pandas

在Pandas中也支持直接對數據繪製不同可視化圖表,例如直方圖,可以使用plot或者直接使用hist來製作df[&34;].hist()

— 18 —

數據抽樣

說明:對數據按要求採樣

Excel

在Excel中抽樣可以使用公式也可以使用分析工具庫中的抽樣,但是僅支持對數值型的列抽樣,比如隨機抽20個示例數據中薪資的樣本

Pandas

在pandas中有抽樣函數sample可以直接抽樣,並且支持任意格式的數據抽樣,可以按照數量/比例抽樣,比如隨機抽20個示例數據中的樣本

— 19 —

數據透視表

說明:製作數據透視表

Excel

數據透視表是一個非常強大的工具,在Excel中有現成的工具,只需要選中數據—>點擊插入—>數據透視表即可生成,並且支持欄位的拖取實現不同的透視表,非常方便,比如製作地址、學歷、薪資的透視表

Pandas

在Pandas中製作數據透視表可以使用pivot_table函數,例如製作地址、學歷、薪資的透視表pd.pivot_table(df,index=[&34;,&34;],values=[&34;]),雖然結果一樣,但是並沒有Excel一樣方便調整與多樣

— 20 —

vlookup

說明:利用VLOOKUP查找數據

Excel

VLOOKUP算是EXCEL中最核心的功能之一了,我們用一個簡單的數據來進行示例

Pandas

在Pandas中沒有現成的vlookup函數,所以實現匹配查找需要一些步驟,首先我們讀取該表格

接著將該dataframe切分為兩個

最後修改索引並使用update進行兩表的匹配

以上就是使用Pandas來演示如何實現Excel中的常用操作的全部過程,其實可以發現Excel的優點就是大多由交互式的點擊完成數據處理,而Pandas則完全依賴於代碼,對於有些操作比如數據透視表,用Excel製作更加方便,而有些操作比如數據的分組、計算等,因Pandas可以與NumPy等其他優秀的Python庫結合而顯得更加強大,所以我們在處理數據時也需要正確選擇使用的工具!

相關焦點

  • 如何用Python輕鬆搞定Excel日常任務
    全文共1370字,預計學習時長7分鐘幾乎人人都在用Excel,這種極易上手的數據分析工具無處不在,一旦你掌握了竅門,它就變得非常強大。而Python通常被認為更具有挑戰性,但能做的事也更多。當Python遇到Excel會發生什麼?本文將告訴你,這三項Excel日常任務,如何用Python輕鬆搞定。
  • 如何用Python輕鬆取代Excel
    概述excel佔領辦公領域已經大半個世紀,進入人工智慧新時代後,其霸主地位受到python等語言和工具的挑戰。編程不再是專業人士的專利,而是「飛入尋常百姓家」的日用工具了,在前面那篇表哥表姐!是時候扔掉Excel了文章裡,已經闡明了這個觀點。
  • 程式設計師大佬,教你如何用 Python 自動化操作 Excel!玩轉自如
    excel已經成為必不可少的數據處理軟體,幾乎天天在用。python有很多支持操作excel的第三方庫,xlwings是其中一個。VBA調用用Python寫的程序。xlwings安裝和導入本文python版本為3.6,系統環境為windows,在jupyter notebook中進行實驗。
  • 放棄Excel,學習Python的理由,1個案例領略Python處理表格的魅力
    Excel表格處理老司機教你:使用Python處理電子表格公式的正確姿勢真實案例引發的思考,如何分組統計電子表格數據,Python輕鬆搞定Excel表格搬到Python界面上?可以實現!結合PyQt5的QTabWidget類用Python將電子表格Excel展示在界面中,PyQt5之QTableWidget應用其中,下面三篇內容我們介紹了Python中利用PyQt5控制項將任意一個Excel文件展示在了圖形界面中。
  • python裡讀寫excel等數據文件的幾種常用方式
    內存不夠時使用,一般不太用readlines() :一次性讀取整個文件內容,並按行返回到list,方便我們遍歷具體用法可見: 一文搞懂python文件讀寫2.內置模塊(csv)python內置了csv模塊用於讀寫csv文件,csv是一種逗號分隔符文件,是數據科學中最常見的數據存儲格式之一。 csv模塊能輕鬆完成各種體量數據的讀寫操作,當然大數據量需要代碼層面的優化。
  • Python 輕鬆操作Excel,實現自動化辦公
    作者|無量測試之道來源|無量測試之道今天的文章分享Python 如何輕鬆操作Excel 這款office 辦公軟體的,在Python 中你要針對某個對象進行操作,是需要安裝與其對應的第三方庫的,這裡對於Excel 也不例外,它也有對應的第三方庫,即xlrd 庫。
  • 文職美女上班手動用Excel表格太麻煩,當學會python後easy操作
    通過程序操作excel表格是編程中比較常見的操作,python本身不能直接操作excel,需要安裝第三方的模塊來實現excel的操作。Python中可以操作excel模塊主要有:1、xlrd 模塊實現exlcel表格讀取2、xlwd 模塊實現excel表格創建和寫入3、pandas模塊也可以實現excel常規操作下面主要以xlrd和xlwd模塊為例,給大家分享下這兩個模塊的使用。
  • 福利:大佬教你如何用 Python 自動化玩轉 Excel
    excel已經成為必不可少的數據處理軟體,幾乎天天在用。python有很多支持操作excel的第三方庫,xlwings是其中一個。中。中使用python編程,這些通過xlwings都可以巧妙實現。等分析庫,非常適合奔波於python和excel之間的童鞋,讓你更輕鬆地分析數據!
  • python操作excel文件一站式搞定
    1,相關模塊介紹2,查看是否已經安裝相關模塊3,安裝相關模塊4,會查看當前目錄5,會在excel中正確寫入文件路徑6,操作Excel中的三大對象(book,sheet,cell)1,相關模塊介紹xlrd庫:從Excel中讀取數據,支持xls、xlsx,前2個字母表示excel文件
  • 每個python人都離不開的12個python庫
    如果說python能取得今天的成就,一方面是它簡介的語法,更重要的一方面就是它豐富的第三方庫,可以毫不誇張的說,只要你能想到的任何一個功能模塊,都有對應的python庫,可以說正是因為有了豐富的python庫,python才發展得如此迅速,下面我們來看看python人最常用的20個python
  • excel VS python 誰更適合數據分析?
    我常常會聽到這樣的問題,「金融分析中,為什麼我要學習像python這樣的程式語言,甚至使用它超過excel呢?」在金融領域,python成為炙手可熱的分析工具,這幾乎已經成為共識。面對excel和python,誰更適合數據分析,也確實一直被大家討論。excel VS pythonexcel不用多做介紹,辦公必備的表格工具。
  • Excel文件另類操作,如何用Python中xlrd模塊獲取電子表格的信息
    01xlrd和xlwt模塊python操作Excel文件通常使用的兩個模塊,顧名思義,xlrd用於讀取Excel文件,xlwt用於寫Excel文件。老老實實跟著用吧。進入正題,先來了解下Python中讀取Excel文件的xlrd模塊常用的接口有哪些?我們以案例需求為驅動,詳細了解下Excel文件與Python數據之間如何轉化的。
  • Python利用openpyxl處理excel文件(openpyxl的安裝及簡介)
    作為一名苦逼的文員,經常同word、excel、ppt打交道,有些工作,比如事務性的,敲幾個文字,做幾個圖表,一般人都應該沒有啥問題,很輕鬆就會搞定。但是在同excel打交道過程中,你會面對一系列公式、紛繁的統計和複雜數據分析,比如這個公式:=IFERROR(TRIM(IF(LEN(VLOOKUP(F7,Sheet3!
  • 如何用python在工作中「偷懶」?
    這個時候,你已經可以寫個循環,不停地點擊屏幕上不同的幾個點,最基礎的掛機腳本就實現了。Excel自動化處理Excel合併在實際應用中可能會有不同月份的數據或者不同周的報告等等的Excel數據,都是單個獨立的文件,如果想要整體使用的話就需要合併一下,那麼如何利用python把指定目錄下的所有Excel數據合併成一個文件呢?
  • 快速轉換excel表格英文數據的大小寫,3個函數輕鬆搞定
    今天我們分享3個函數輕鬆搞定excel表格英文數據的大小寫快速轉換的問題,這三個函數使用技巧特別簡單,我們在日常工作中,有時候我們會使用excel處理英文數據,因為有的公司 外企,有的公司具有海外業務,所以在工作中就要處理英文數據,處理英文數據就需要涉及英文的大小寫轉換,比如講英文首字母轉換成大寫
  • 教你用Python自製拼圖小遊戲,輕鬆搞定熊孩子
    教你用Python自製拼圖小遊戲,輕鬆搞定熊孩子 本文主要為大家詳細介紹了python實現拼圖小遊戲,文中還有示例代碼介紹,感興趣的小夥伴們可以參考一下。
  • Python 與 Excel 不得不說的事
    常用的庫是 python-excel 系列:xlrd、xlwt、xlutilsxlrd - 讀取 Excel 文件xlwt - 寫入 Excel 文件xlutils - 操作Excel 文件的實用工具,如複製、分割、篩選等儘管這是目前被用得最多的 Excel 庫,我還是很想吐槽為什麼這三個包不能放在一個模塊裡……另外它們有個缺陷,就是只能處理 xls 文件。
  • 用python進行辦公自動化都需要學習什麼知識
    用python進行辦公自動化都需要學習什麼知識呢?  這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。  自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,這次就來理一理python自動化辦公的那些知識點。
  • 為什麼有些人不用Word而用Python?Python或會取代wps?
    實際上,python相比於wps的word更方便做批量處理。使用python處理word文檔,主要是做一些重複、簡單、機械性的操作,而且具有一定規律可尋,如果是細緻、精確、美觀的排版,使用python就明顯不合適了。這時候,還是用wps會更好一點。
  • python吊打Excel?其實是你沒玩轉
    [1]而python就是給你一堆原材料,水泥、磚頭、鋼筋等等,你的工作就是自己要從頭摘,一步步把高樓給建造出來。Excel雖然人人都會,但如果想要用來數據分析,要掌握的函數操作還真不少。下文是Excel常用函數大全,建議收藏,不要吃灰!