春蘭空調(diào)e6故障代碼(春蘭空調(diào)錯(cuò)誤代碼E6)
前沿拓展:
現(xiàn)在很多行業(yè),都離不開Excel:
做財(cái)務(wù)的,要用Excel做報(bào)表;
做物流的,會(huì)用Excel來跟蹤訂單情況;
做HR的,會(huì)用Excel算工資;
做運(yùn)營(yíng)的,會(huì)用Excel記錄數(shù)據(jù)做分析。
不知道你有沒有這樣的經(jīng)歷,每次你用Excel做數(shù)據(jù)分析時(shí),往往都要生成好多張工作簿,做中間計(jì)算的時(shí)候,鼠標(biāo)要一路移到最后一頁,才出現(xiàn)最終結(jié)果。
如果其中某個(gè)數(shù)據(jù)出了些問題,你可能要從頭開始,排查錯(cuò)誤,很容易看花眼,錯(cuò)上加錯(cuò)。
為了避免這種情況,很多人開始學(xué)Excel的高級(jí)技能 VBA。
但其實(shí),VBA并不容易學(xué),而且在數(shù)據(jù)量大的情況下,VBA運(yùn)行很耗時(shí)。
那么我們應(yīng)該怎么解決呢?用Python呀!
相比VBA,Python非常容易入門,而且用途廣泛。別人用Excel花2天做的事情,Python1ge 小時(shí)就能搞定。
下面就用幾個(gè)常見的操作帶你感受一下:
數(shù)據(jù)讀取、生成、存儲(chǔ)
Excel讀取本地?cái)?shù)據(jù)需要打開目標(biāo)文件夾選中該文件并打開
Pandas支持讀取本地Excel、txt文件,也支持從網(wǎng)頁直接讀取表格數(shù)據(jù),只用一行代碼即可,
例如讀取上述本地Excel數(shù)據(jù)可以使用pd.read_excel(&34;示例數(shù)據(jù).xlsx&34;)
以生成102的0—1均勻分布隨機(jī)數(shù)矩陣為例,在Excel中需要使用rand()函數(shù)生成隨機(jī)數(shù),并手動(dòng)拉取指定范圍
在Pandas中可以結(jié)合NumPy生成由指定隨機(jī)數(shù)(均勻分布、正態(tài)分布等)生成的矩陣,例如同樣生成102的0—1均勻分布隨機(jī)數(shù)矩陣為,使用一行代碼即可:pd.DataFrame(np.random.rand(10,2))
在Excel中需要點(diǎn)擊保存并設(shè)置格式/文件名
在Pandas中可以使用
pd.to_excel(&34;filename.xlsx&34;)來將當(dāng)前工作表格保存至當(dāng)前目錄下,當(dāng)然也可以使用to_csv保存為csv等其他格式,也可以使用絕對(duì)路徑來指定保存位置
篩選、排序、去重?cái)?shù)據(jù)
使用我們之前的示例數(shù)據(jù),在Excel中篩選出薪資大于5000的數(shù)據(jù)步驟如下
在Pandas中,可直接對(duì)數(shù)據(jù)框進(jìn)行條件篩選,例如同樣進(jìn)行單個(gè)條件(薪資大于5000)的篩選可以使用df[df[&39;薪資水平&39;]>5000],如果使用多個(gè)條件的篩選只需要使用&(并)與|(或)操作符實(shí)現(xiàn)
在Excel中可以點(diǎn)擊排序按鈕進(jìn)行排序,例如將示例數(shù)據(jù)按照薪資從高到低進(jìn)行排序可以按照下面的步驟進(jìn)行
在pandas中可以使用sort_values進(jìn)行排序,使用ascending來控制升降序,例如將示例數(shù)據(jù)按照薪資從高到低進(jìn)行排序可以使用df.sort_values(&34;薪資水平&34;,ascending=False,inplace=True)
在Excel中可以通過點(diǎn)擊數(shù)據(jù)—>刪除重復(fù)值按鈕并選擇需要去重的列即可,例如對(duì)示例數(shù)據(jù)按照創(chuàng)建時(shí)間列進(jìn)行去重,可以發(fā)現(xiàn)去掉了196 個(gè)重復(fù)值,保留了 629 個(gè)唯一值。
在pandas中可以使用drop_duplicates來對(duì)數(shù)據(jù)進(jìn)行去重,并且可以指定列以及保留順序,例如對(duì)示例數(shù)據(jù)按照創(chuàng)建時(shí)間列進(jìn)行去重df.drop_duplicates([&39;創(chuàng)建時(shí)間&39;],inplace=True),可以發(fā)現(xiàn)和Excel處理的結(jié)果一致,保留了 629 個(gè)唯一值。
合并/拆分?jǐn)?shù)據(jù)
在Excel中可以使用公式也可以使用Ctrl+E快捷鍵完成多列合并,以公式為例,合并示例數(shù)據(jù)中的地址+崗位列步驟如下
在Pandas中合并多列比較簡(jiǎn)單,類似于之前的數(shù)據(jù)插入操作,例如合并示例數(shù)據(jù)中的地址+崗位列使用df[&39;合并列&39;] = df[&39;地址&39;] + df[&39;崗位&39;]
拆分?jǐn)?shù)據(jù)在Excel中可以通過點(diǎn)擊數(shù)據(jù)—>分列并按照提示的選項(xiàng)設(shè)置相關(guān)參數(shù)完成分列,但是由于該列含有[]等特殊字符,所以需要先使用查找替換去掉
在Pandas中可以使用.split來完成分列,但是在分列完畢后需要使用merge來將分列完的數(shù)據(jù)添加至原DataFrame,對(duì)于分列完的數(shù)據(jù)含有[]字符,我們可以使用正則或者字符串lstrip方法進(jìn)行處理,但因不是pandas特性,此處不再展開。
數(shù)據(jù)分組、統(tǒng)計(jì)、計(jì)算
在Excel中對(duì)數(shù)據(jù)進(jìn)行分組計(jì)算需要先對(duì)需要分組的字段進(jìn)行排序,之后可以通過點(diǎn)擊分類匯總并設(shè)置相關(guān)參數(shù)完成,比如對(duì)示例數(shù)據(jù)的學(xué)歷進(jìn)行分組并求不同學(xué)歷的平均薪資
在Pandas中對(duì)數(shù)據(jù)進(jìn)行分組計(jì)算可以使用groupby輕松搞定,比如使用df.groupby(&34;學(xué)歷&34;).mean()一行代碼即可對(duì)示例數(shù)據(jù)的學(xué)歷進(jìn)行分組并求不同學(xué)歷的平均薪資,結(jié)果與Excel一致
在Excel中有很多統(tǒng)計(jì)相關(guān)的公式,也有現(xiàn)成的分析工具,比如對(duì)薪資水平列進(jìn)行描述性統(tǒng)計(jì)分析,可以通過添加工具庫之后點(diǎn)擊數(shù)據(jù)分析按鈕并設(shè)置相關(guān)參數(shù)
在pandas中也有現(xiàn)成的函數(shù)describe快速完成對(duì)數(shù)據(jù)的描述性統(tǒng)計(jì),比如使用df[&34;薪資水平&34;].describe()即可得到薪資列的描述性統(tǒng)計(jì)結(jié)果
在Excel中有很多計(jì)算相關(guān)的公式,比如可以使用COUNTIFS來統(tǒng)計(jì)薪資大于10000的崗位數(shù)量有518個(gè)
在Pandas中可以直接使用類似數(shù)據(jù)篩選的方法來統(tǒng)計(jì)薪資大于10000的崗位數(shù)量len(df[df[&34;薪資水平&34;]>10000])
數(shù)據(jù)可視化
在Excel中可以通過點(diǎn)擊插入并選擇圖表來快速完成對(duì)數(shù)據(jù)的可視化,比如制作薪資的直方圖,并且有很多樣式可以直接使用
在Pandas中也支持直接對(duì)數(shù)據(jù)繪制不同可視化圖表,例如直方圖,可以使用plot或者直接使用hist來制作df[&34;薪資水平&34;].hist()
也可以做數(shù)據(jù)透視表,在Excel中有現(xiàn)成的工具,只需要選中數(shù)據(jù)—>點(diǎn)擊插入—>數(shù)據(jù)透視表即可生成,并且支持字段的拖取實(shí)現(xiàn)不同的透視表,非常方便,比如制作地址、學(xué)歷、薪資的透視表
在Pandas中制作數(shù)據(jù)透視表可以使用pivot_table函數(shù),例如制作地址、學(xué)歷、薪資的透視表pd.pivot_table(df,index=[&34;地址&34;,&34;學(xué)歷&34;],values=[&34;薪資水平&34;]),雖然結(jié)果一樣,但是并沒有Excel一樣方便調(diào)整與多樣
vlookup
vlookup號(hào)稱是Excel里的神器之一,用途很廣泛,你會(huì)幾種?
案例一
問題:A3:B7單元格區(qū)域?yàn)樽帜傅燃?jí)查詢表,表示60分以下為E級(jí)、60~69分為D級(jí)、70~79分為C級(jí)、80~89分為B級(jí)、90分以上為A級(jí)。D:G列為初二年級(jí)1班語文測(cè)驗(yàn)成績(jī)表,如何根據(jù)語文成績(jī)返回其字母等級(jí)?
方法:在H3:H13單元格區(qū)域中輸入=VLOOKUP(G3, $A$3:$B$7, 2)
python實(shí)現(xiàn):
df = pd.read_excel(&34;test.xlsx&34;, sheet_name=0)def grade_to_point(x): if x >= 90: return &39;A&39; elif x >= 80: return &39;B&39; elif x >= 70: return &39;C&39; elif x >= 60: return &39;D&39; else: return &39;E&39;?df[&39;等級(jí)&39;] = df[&39;語文&39;].apply(grade_to_point)df?Out[]: 學(xué)號(hào) 姓名 性別 語文 等級(jí)0 101 王小麗 女 69 D1 102 王寶勤 男 85 B2 103 楊玉萍 女 49 E3 104 田東會(huì) 女 90 A4 105 陳雪蛟 女 73 C5 106 楊建豐 男 42 E6 107 黎梅佳 女 79 C7 108 張興 男 91 A8 109 馬進(jìn)春 女 48 E9 110 魏改娟 女 100 A10 111 王冰研 女 64 D案例二
問題:在Sheet1里面如何查找折舊明細(xì)表中對(duì)應(yīng)編號(hào)下的月折舊額?(跨表查詢)
方法:在Sheet1里面的C2:C4單元格輸入 =VLOOKUP(A2, 折舊明細(xì)表!A$2:$G$12, 7, 0)
python實(shí)現(xiàn):使用merge將兩個(gè)表按照編號(hào)連接起來就行
df1 = pd.read_excel(&34;test.xlsx&34;, sheet_name=&39;折舊明細(xì)表&39;)df2 = pd.read_excel(&34;test.xlsx&34;, sheet_name=1) 題目里的sheet1df2.merge(df1[[&39;編號(hào)&39;, &39;月折舊額&39;]], how=&39;left&39;, on=&39;編號(hào)&39;)Out[]: 編號(hào) 資產(chǎn)名稱 月折舊額0 YT001 電動(dòng)門 13991 YT005 桑塔納轎車 11472 YT008 打印機(jī) 51案例三
問題:類似于案例二,但此時(shí)需要使用近似查找
方法:在B2:B7區(qū)域中輸入公式=VLOOKUP(A2&&34;&34;, 折舊明細(xì)表!$B$2:$G$12, 6, 0)
python實(shí)現(xiàn):這個(gè)比起上一個(gè)要麻煩一些,需要用到一些pandas的使用技巧
df1 = pd.read_excel(&34;test.xlsx&34;, sheet_name=&39;折舊明細(xì)表&39;) df3 = pd.read_excel(&34;test.xlsx&34;, sheet_name=3) 含有資產(chǎn)名稱簡(jiǎn)寫的表df3[&39;月折舊額&39;] = 0for i in range(len(df3[&39;資產(chǎn)名稱&39;])): df3[&39;月折舊額&39;][i] = df1[df1[&39;資產(chǎn)名稱&39;].map(lambda x:df3[&39;資產(chǎn)名稱&39;][i] in x)][&39;月折舊額&39;]?df3Out[]: 資產(chǎn)名稱 月折舊額0 電動(dòng) 13991 貨車 24382 惠普 1323 交聯(lián) 101334 桑塔納 11475 春蘭 230案例四
問題:在Excel中錄入數(shù)據(jù)信息時(shí),為了提高工作效率,用戶希望通過輸入數(shù)據(jù)的關(guān)鍵字后,自動(dòng)顯示該記錄的其余信息,例如,輸入員工工號(hào)自動(dòng)顯示該員工的信命,輸入物料號(hào)就能自動(dòng)顯示該物料的品名、單價(jià)等。
如圖所示為某單位所有員工基本信息的數(shù)據(jù)源表,在“2010年3月員工請(qǐng)假統(tǒng)計(jì)表”工作表中,當(dāng)在A列輸入員工工號(hào)時(shí),如何實(shí)現(xiàn)對(duì)應(yīng)員工的姓名、身份證號(hào)、部門、職務(wù)、入職日期等信息的自動(dòng)錄入?
方法:使用VLOOKUP+MATCH函數(shù),在“2010年3月員工請(qǐng)假統(tǒng)計(jì)表”工作表中選擇B3:F8單元格區(qū)域,輸入下列公式=IF($A3=&34;&34;,&34;&34;,VLOOKUP($A3,員工基本信息!$A:$H,MATCH(B$2,員工基本信息!$2:$2,0),0)),按下【Ctrl+Enter】組合鍵結(jié)束。
python實(shí)現(xiàn):上面的Excel的方法用得很靈活,但是pandas的想法和操作更簡(jiǎn)單方便些
df4 = pd.read_excel(&34;test.xlsx&34;, sheet_name=&39;員工基本信息表&39;)df5 = pd.read_excel(&34;test.xlsx&34;, sheet_name=&39;請(qǐng)假統(tǒng)計(jì)表&39;)df5.merge(df4[[&39;工號(hào)&39;, &39;姓名&39;, &39;部門&39;, &39;職務(wù)&39;, &39;入職日期&39;]], on=&39;工號(hào)&39;)Out[]: 工號(hào) 姓名 部門 職務(wù) 入職日期0 A0004 龔夢(mèng)娟 后勤 主管 200611201 A0003 趙敏 行政 文員 200702162 A0005 黃凌 研發(fā) 工程師 200901143 A0007 王維 人事 經(jīng)理 200607244 A0016 張君寶 市場(chǎng) 工程師 200708145 A0017 秦羽 人事 副經(jīng)理 20080306案例五
問題:用VLOOKUP函數(shù)實(shí)現(xiàn)批量查找,VLOOKUP函數(shù)一般情況下只能查找一個(gè),那么多項(xiàng)應(yīng)該怎么查找呢?如下圖,如何把張一的消費(fèi)額全部列出?
方法:在C9:C11單元格里面輸入公式
=VLOOKUP(B$9&ROW(A1),IF({1,0},$B$2:$B$6&COUNTIF(INDIRECT(&34;b2:b&34;&ROW($2:$6)),B$9),$C$2:$C$6),2,),按SHIFT+CTRL+ENTER鍵結(jié)束。
python實(shí)現(xiàn):vlookup函數(shù)有兩個(gè)不足(或者算是特點(diǎn)吧),一個(gè)是被查找的值一定要在區(qū)域里的第一列,另一個(gè)是只能查找一個(gè)值,剩余的即便能匹配也不去查找了,這兩點(diǎn)都能通過靈活應(yīng)用if和indirect函數(shù)來解決,不過pandas能做得更直白一些。
df6 = pd.read_excel(&34;test.xlsx&34;, sheet_name=&39;消費(fèi)額&39;)df6[df6[&39;姓名&39;] == &39;張一&39;][[&39;姓名&39;, &39;消費(fèi)額&39;]]Out[]: 姓名 消費(fèi)額0 張一 1002 張一 3004 張一 1000操作可見,其實(shí)Excel在有些地方還是非常方便的。比如:
數(shù)據(jù)量不是很大;
不需要實(shí)時(shí)更新結(jié)果;
更改原數(shù)據(jù),即時(shí)看每次結(jié)果有多大不同;
只要一個(gè)大體概念和粗略分析;
不需要長(zhǎng)期使用和維護(hù)...
相對(duì)而言,Python的優(yōu)點(diǎn)在于:
處理數(shù)據(jù)功能很強(qiáng)大;
圖形展示很高級(jí);
大數(shù)據(jù)量也能處理;
運(yùn)行速度可以分布管理;
可以邊寫,邊測(cè)試;
很多免費(fèi)好資源直接使用;
可追溯錯(cuò)誤出在哪里;
很容易就實(shí)現(xiàn)自動(dòng)化;
邊寫代碼,邊做文檔;
用的很舒服,哈哈!
所以我們在處理數(shù)據(jù)時(shí)也需要正確選擇使用的工具!
拓展知識(shí):
- 容聲冰箱除臭器更換(需要注意哪些問題?)10-19
- 前鋒熱水器皮膜(如何更換和清潔)。08-18
- 1天然氣表顯示故障代碼(如何解讀和修復(fù))。
- 2熱水器放空水步驟圖(詳細(xì)圖解,讓你輕松操作)。
- 3電機(jī)能轉(zhuǎn)但沒勁(可能的原因和解決方法)。
- 4daogrs燃?xì)庠罘?wù)電話(daogrs燃?xì)庠罘?wù)電話:貼心服務(wù)一鍵呼叫)
- 5警建指紋鎖維修服務(wù)電話(警建指紋鎖維修服務(wù)電話——專業(yè)安全指紋鎖維修)
- 6制冰機(jī)故障代碼(常見故障代碼解析)。
- 7東芝40cv550c維修(如何自行解決常見故障)。
- 8老式掛鐘怎么調(diào)快慢(簡(jiǎn)單易學(xué)的方法)
- 9蘭柏璐保險(xiǎn)柜售后服務(wù)中心(蘭柏璐售后服務(wù)中心)
- 10海爾滾筒洗衣機(jī)故障代碼大全(如何快速解決故障)
-
陽江港華紫荊燃?xì)庠钍酆缶S修(如何找到可靠的維修服務(wù))
2025-06-07
-
蛇口燃?xì)庠罹S修(如何自行解決常見故障)
2025-06-07
-
三星空氣源熱泵售后維修中心(三星空氣源熱泵售后維修中心)
2025-06-07


