python相比于excel的优势_对照Excel使用Python进行数据分析,更快掌握
Excel和Python,作為數(shù)據(jù)分析的主流工具,在從效率提升到數(shù)據(jù)商業(yè)化的整個過程中,都起到了重要作用。不管是在Excel中通過鼠標(biāo)點選實現(xiàn),亦或是利用Python通過代碼實現(xiàn),數(shù)據(jù)分析中的很多基礎(chǔ)功能都是相通的。
在數(shù)據(jù)量級大躍進的今天,對于從業(yè)者來說,熟練掌握用于數(shù)據(jù)處理的編程語言非常必要,通曉兩者可以更增競爭力。而借助大家最為熟悉的Excel操作,對照學(xué)習(xí)相應(yīng)的Python實現(xiàn),可以幫助更快理解,輕松掌握。
都說Excel關(guān)鍵要掌握4個核心函數(shù)(vlookup,if,sum,sumif)和1個核心功能(數(shù)據(jù)透視表),本期我們就聚焦在廣受喜歡的數(shù)據(jù)透視表和VLOOKUP的操作。
數(shù)據(jù)透視表
使用數(shù)據(jù)透視表,可以快速匯總數(shù)據(jù),進而進行進一步的分析。
例如,對于一張簡單的家庭開支列表,可以基于該列表制作數(shù)據(jù)透視表
1.Excel實現(xiàn)
使用數(shù)據(jù)透視表,在“插入”——“數(shù)據(jù)透視表”,選中需要創(chuàng)建數(shù)據(jù)透視表的數(shù)據(jù)。
我們可以看到如下界面:上半部分為數(shù)據(jù)透視表中的所有字段,下半部分為數(shù)據(jù)透視表的選項,把上方的字段拖入下方對應(yīng)框中即可完成數(shù)據(jù)透視表。
這里使用2018年國內(nèi)上市公司管理層報酬統(tǒng)計數(shù)據(jù)為例,以“公司行業(yè)”為行標(biāo)簽,“公司組織形式”為列標(biāo)簽,對“年度報酬總額(萬元)”數(shù)據(jù)計算平均數(shù),得到如下分類匯總和聚合計算。
2.Python實現(xiàn)
Python中數(shù)據(jù)透視表的實現(xiàn)原理與Excel類同,使用pandas庫中的pivot_table()方法。data:要進行數(shù)據(jù)透視表操作的DataFrame對象
values:要進行值計算的列,對應(yīng)Excel操作中“數(shù)值”框
index:行索引,對應(yīng)Excel操作中“行標(biāo)簽”框
columns:列名,對應(yīng)Excel操作中“列標(biāo)簽”框
aggfunc:設(shè)定對values要進行的計算類型
fill_value:對空值的填充值
margins:是否顯示合計列
dropna:是否刪除缺失值
margins_name:設(shè)置合計列的列名
當(dāng)然,我們可以進行更多靈活操作,如對各類別的“前三名高管報酬總額”求中位數(shù),對“年度報酬總額”求均值,這種對不同的值進行不同類型計算,可以通過aggfunc傳入字典(鍵為列名,值為計算方式)來設(shè)定。
VLOOKUP
實際工作中,我們經(jīng)常會需要用到查找功能,VLOOKUP很多時候是Excel用戶學(xué)習(xí)的第一個查找函數(shù),也是Excel最常使用的三個函數(shù)之一,被稱為Excel中的效率之王。它應(yīng)用非常廣泛,比如可以將多表匹配、合并,達(dá)到對比、查漏等效果,甚至前段時間新誕生的xlookup也借著它的大名火了一把。
例如,在如下信息表中,我們可以查找到與ID號102完全匹配的姓氏,進行返回。
1.Excel實現(xiàn)
VLOOKUP這個名稱中,v為vertical豎直的意思,lookup即為查找,它實現(xiàn)的是縱向按列查找,返回該列所需查詢序列所對應(yīng)的值。
函數(shù)表示:
即:VLOOKUP(你想要查找的內(nèi)容, 要查找的范圍, 包含要返回的值的區(qū)域中的列號, 返回近似或精確匹配)
這里我們繼續(xù)使用2018年國內(nèi)上市公司管理層報酬統(tǒng)計數(shù)據(jù),需要查找指定的10家上市公司名稱、年度報酬總額、前三名董事報酬總額,及前三名高管報酬總額。在Excel中,就可使用VLOOKUP函數(shù)實現(xiàn),如L2的名稱數(shù)據(jù),是以J2為要進行查找的關(guān)鍵字,查找范圍為A2:H3594,返回列數(shù)為2(表示查找范圍的第2列,即“名稱”),匹配模式為FALSE(表示精確匹配)而得到。
2.Python實現(xiàn)
Python中有多種方法可以實現(xiàn)該操作,推薦使用pandas庫中的merge()函數(shù),它是全功能、高性能的連接操作,在習(xí)慣上非常類似于SQL等關(guān)系數(shù)據(jù)庫。left:參與合并的左側(cè)DataFrame
right:參與合并的右側(cè)DataFrame
how:合并方式,為inner,outer,left,right其中之一
on:用于連接的列名,必須存在于左右兩側(cè)數(shù)據(jù)
left_on:左側(cè)DataFrame中用作連接鍵的列
right_on:右側(cè)DataFrame中用作連接鍵的列
left_index:將左側(cè)的行索引用作其連接鍵
right_index:將右側(cè)的行索引用作其連接鍵
sort:根據(jù)連接鍵對合并后的數(shù)據(jù)進行排序
通過how進行設(shè)置的合并方法,主要取決于merge操作的目的:
若只需要查找到指定的10家上市公司數(shù)據(jù),則可采用左連接,以放在左側(cè)的avgs數(shù)據(jù)為基準(zhǔn);
若主要想對右側(cè)salary數(shù)據(jù)中的3593家上市公司管理層報酬數(shù)據(jù)進行分析,僅是將已有的員工人均薪酬數(shù)據(jù)加入,則可考慮使用右連接;
若想保留同時出現(xiàn)在左右兩側(cè)的數(shù)據(jù),則可考慮使用內(nèi)連接,取鍵的交集;
若想將左右兩側(cè)數(shù)據(jù)都進行保留,則可考慮使用外連接,取鍵的并集。
除了使用on指定連接鍵,我們也可將代碼設(shè)置為index,通過index作為連接鍵進行匹配
總結(jié)
以上是生活随笔為你收集整理的python相比于excel的优势_对照Excel使用Python进行数据分析,更快掌握的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: esp8266原理图_ESP32/ESP
- 下一篇: 使用Nacos项目jar包启动抛出的ym