未明學院:對照Excel使用Python進行數據分析,更快掌握

2020-12-15 未明學院

Excel和Python,作為數據分析的主流工具,在從效率提升到數據商業化的整個過程中,都起到了重要作用。不管是在Excel中通過滑鼠點選實現,亦或是利用Python通過代碼實現,數據分析中的很多基礎功能都是相通的。

在數據量級大躍進的今天,對於從業者來說,熟練掌握用於數據處理的程式語言非常必要,通曉兩者可以更增競爭力。而藉助大家最為熟悉的Excel操作,對照學習相應的Python實現,可以幫助更快理解,輕鬆掌握。

都說Excel關鍵要掌握4個核心函數(vlookup,if,sum,sumif)和1個核心功能(數據透視表),本期我們就聚焦在廣受喜歡的數據透視表和VLOOKUP的操作。

1、數據透視表

使用數據透視表,可以快速匯總數據,進而進行進一步的分析。

例如,對於一張簡單的家庭開支列表,可以基於該列表製作數據透視表

1、Excel實現

使用數據透視表,在「插入」——「數據透視表」,選中需要創建數據透視表的數據。

我們可以看到如下界面:上半部分為數據透視表中的所有欄位,下半部分為數據透視表的選項,把上方的欄位拖入下方對應框中即可完成數據透視表。

這裡使用2018年國內上市公司管理層報酬統計數據為例,以「公司行業」為行標籤,「公司組織形式」為列標籤,對「年度報酬總額(萬元)」數據計算平均數,得到如下分類匯總和聚合計算。

2、Python實現

Python中數據透視表的實現原理與Excel類同,使用pandas庫中的pivot_table()方法。

data:要進行數據透視表操作的DataFrame對象

values:要進行值計算的列,對應Excel操作中「數值」框

index:行索引,對應Excel操作中「行標籤」框

columns:列名,對應Excel操作中「列標籤」框

aggfunc:設定對values要進行的計算類型

fill_value:對空值的填充值

margins:是否顯示合計列

dropna:是否刪除缺失值

margins_name:設置合計列的列名

當然,我們可以進行更多靈活操作,如對各類別的「前三名高管報酬總額」求中位數,對「年度報酬總額」求均值,這種對不同的值進行不同類型計算,可以通過aggfunc傳入字典(鍵為列名,值為計算方式)來設定。

2、VLOOKUP

實際工作中,我們經常會需要用到查找功能,VLOOKUP很多時候是Excel用戶學習的第一個查找函數,也是Excel最常使用的三個函數之一,被稱為Excel中的效率之王。它應用非常廣泛,比如可以將多表匹配、合併,達到對比、查漏等效果,甚至前段時間新誕生的xlookup也借著它的大名火了一把。

例如,在如下信息表中,我們可以查找到與ID號102完全匹配的姓氏,進行返回。

1、Excel實現

VLOOKUP這個名稱中,v為vertical豎直的意思,lookup即為查找,它實現的是縱向按列查找,返回該列所需查詢序列所對應的值。

函數表示:

即:VLOOKUP(你想要查找的內容, 要查找的範圍, 包含要返回的值的區域中的列號, 返回近似或精確匹配)

這裡我們繼續使用2018年國內上市公司管理層報酬統計數據,需要查找指定的10家上市公司名稱、年度報酬總額、前三名董事報酬總額,及前三名高管報酬總額。在Excel中,就可使用VLOOKUP函數實現,如L2的名稱數據,是以J2為要進行查找的關鍵字,查找範圍為A2:H3594,返回列數為2(表示查找範圍的第2列,即「名稱」),匹配模式為FALSE(表示精確匹配)而得到。

2、Python實現

Python中有多種方法可以實現該操作,推薦使用pandas庫中的merge()函數,它是全功能、高性能的連接操作,在習慣上非常類似於SQL等關係資料庫。

left:參與合併的左側DataFrame

right:參與合併的右側DataFrame

how:合併方式,為inner,outer,left,right其中之一

on:用於連接的列名,必須存在於左右兩側數據

left_on:左側DataFrame中用作連接鍵的列

right_on:右側DataFrame中用作連接鍵的列

left_index:將左側的行索引用作其連接鍵

right_index:將右側的行索引用作其連接鍵

sort:根據連接鍵對合併後的數據進行排序

通過how進行設置的合併方法,主要取決於merge操作的目的:

若只需要查找到指定的10家上市公司數據,則可採用左連接,以放在左側的avgs數據為基準;

若主要想對右側salary數據中的3593家上市公司管理層報酬數據進行分析,僅是將已有的員工人均薪酬數據加入,則可考慮使用右連接;

若想保留同時出現在左右兩側的數據,則可考慮使用內連接,取鍵的交集;

若想將左右兩側數據都進行保留,則可考慮使用外連接,取鍵的併集。

除了使用on指定連接鍵,我們也可將代碼設置為index,通過index作為連接鍵進行匹配

相關焦點

  • 未明學院:用excel不好嗎?為什麼還要學python?
    原創: 未明學院 在網際網路管理、金融、物流等領域,往往離不開數據處理、統計分析等輔助決策的操作。傳統的商業分析(Business Analysis),定性佔比很大,以相對簡單的數據處理為輔助,人們使用的分析工具主要是Excel;然而,自Excel2007版起,最大支持的工作表大小為16,384 列 × 1,048,576 行,超出最大行列數單元格中的數據將會丟失。
  • 像Excel一樣使用python進行數據分析
    來自: 藍鯨的網站分析筆記  ID:bluewhale_cc《像Excel一樣使用python進行數據分析》這也是藍鯨大師的新書
  • 未明學院:7張思維導圖掌握數據分析關鍵庫pandas
    原創: 未明學院Pandas是一個強大的分析結構化數據的工具集;它基於numpy,用於數據分析和數據挖掘,同時也提供數據清洗功能。pandas與numpy一起構成了數據分析的基礎雙生庫。pandas概述02在使用pandas做數據分析的時候往往第一步就是將數據導入進來,比如csv或者excel格式的數據,下面這張圖就是我們讀取數據時候的方法和參數。
  • 使用簡單而強大的Excel來進行數據分析
    使用Excel進行數據分析是使用R或Python進行數據科學的先驅我們應該要學習用於分析數據的基本的Excel函數介紹我一直都很佩服Excel強大的數據分析能力。這款軟體不僅能夠進行基本的數據計算,還可以使用它來進行數據分析。它被廣泛用於許多的領域內,包括財務建模和業務規劃等。對於數據分析領域的新手來說,Excel它可以成為一個很好的跳板。甚至來說在學習R或Python之前,最好先了解一下Excel。將Excel添加到你的技能庫中沒有什麼壞處。
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • 堪比python、秒殺Excel表格,這個數據分析工具太猛了
    一說到數據分析,估計只要是涉及金融、市場、運營和IT等工作的人,應該沒有不知道其重要性的,甚至連人力、財務這樣的崗位都要求一定的數據分析技能,而掌握一個強大的數據分析工具,對於很多新手來說是最簡單、最容易的一條捷徑。那麼,應該選擇什麼樣的數據分析工具呢?
  • 利用python操作Excel教程
    很多人都會使用excel來對數據做處理,但隨著python的日益強盛,不甘落後的我們也可以用python來完成這些工作,該教程目的是教會您用Python腳本來對excel做處理。案例一:以下是創建Pandas數據框並使用該to_excel() 方法將該數據寫入Excel文件的簡單示例 :結果顯示:
  • Python利用openpyxl處理excel文件(openpyxl的安裝及簡介)
    作為一名苦逼的文員,經常同word、excel、ppt打交道,有些工作,比如事務性的,敲幾個文字,做幾個圖表,一般人都應該沒有啥問題,很輕鬆就會搞定。但是在同excel打交道過程中,你會面對一系列公式、紛繁的統計和複雜數據分析,比如這個公式:=IFERROR(TRIM(IF(LEN(VLOOKUP(F7,Sheet3!
  • n種方式教你用python讀寫excel等數據文件
    點擊上方「濤哥聊Python」,選擇「星標」公眾號重磅乾貨,第一時間送達來源:Python大數據分析python處理數據文件的途徑有很多種,可以操作的文件類型主要包括文本文件(csv、txt、json等)、excel
  • 用Excel來進行數據分析
    Microsoft Excel是目前世界上被使用的最廣泛的數據分析工具之一使用Excel進行數據分析是使用R或Python進行數據科學的先驅我們應該要學習用於分析數據的基本的Excel函數介紹我一直都很佩服Excel強大的數據分析能力。這款軟體不僅能夠進行基本的數據計算,還可以使用它來進行數據分析。它被廣泛用於許多的領域內,包括財務建模和業務規劃等。
  • 如何用Python輕鬆搞定Excel日常任務
    全文共1370字,預計學習時長7分鐘幾乎人人都在用Excel,這種極易上手的數據分析工具無處不在,一旦你掌握了竅門,它就變得非常強大。而Python通常被認為更具有挑戰性,但能做的事也更多。import pandas as pdsales = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/pythonexcel.xlsx', sheet_name ='sales')states = pd.read_excel
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十五):拆分數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd轉發本文並私信我"python",即可經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 基於python的大數據分析-pandas數據讀取(代碼實戰)
    書籍推薦《大話軟體測試》出版啦,內容包括但不限於性能、自動化、接口、安全、移動APP非功能測試、抓包、loadrunner、jmeter、soapui、Appium、python
  • Python實現Excel中vlookup函數功能
    ,主要是為了讓學員掌握Stata軟體進階操作,涉及內容包括基本字符串函數及其應用、正則表達式、法律與制度數據網絡爬蟲技巧、判案文書的文本分析等技術。使用Excel進行數據分析時常常用到vlookup函數。在《Stata實現Excel中vlookup函數功能》中介紹了vlookup函數的基本用法,今天,我們使用Python中的pandas庫來實現該函數的相應功能。
  • n種方式教你用Python讀寫Excel等數據文件
    下面整理下python有哪些方式可以讀寫數據文件。1. read、readline、readlinesread()  :一次性讀取整個文件內容。推薦使用read(size)方法,size越大運行時間越長readline()  :每次讀取一行內容。
  • 在Python中進行探索式數據分析(EDA)
    介紹探索性數據分析(Exploratory Data Analysis ,EDA)是對數據進行分析並得出規律的一種數據分析方法。它是一個故事,一個數據試圖講述的故事。EDA是一種利用各種工具和圖形技術(如柱狀圖、直方圖等)分析數據的方法。
  • 像Excel一樣使用R進行數據分析(3)
    Excel是數據分析中最常用的工具,本篇文章通過R與excel的功能對比介紹如何使用R通過函數式編程完成excel中的數據處理及分析工作。
  • python吊打Excel?其實是你沒玩轉
    實話實說,從數據分析的角度來看,excel的可視化要差一些,數據採集也不能跟python相比,這都不是excel的專業,但是excel在數理統計上的表現還是很不錯的所以當數據分析量小、想要快速出結果、邏輯關係簡單的情況下,excel很香!
  • 數據分析9 - 數據分析常用excel函數筆記整理
    在數據分析中,excel可以方便快速的分析小樣本數據,熟練運用excel函數也很重要。「不會因為會python成為好的數據分析師,而是能用任何工具解決問題」,其實數據分析師重要的是解決問題,發現問題,一起學起來吧
  • PDF轉EXCEL,python的這個技能知道嗎?
    當在pdf上看到自己想用的表格,卻無法將其複製下來的時候,只能默默地打開excel對照著pdf表格的形式敲打出來,既費時又費力!這裡介紹如何用python程序將pdf上的表格自動轉化為excel表!1.使用的庫簡單介紹一下要使用的庫:pdfplumber 和xlwt1.pdfplumberpdfplumber使用來解析pdf的文字與表格。