Resources | |||||
Class Tools | Online Blackboard | Broadcast Teaching | Pandas Mathematical Analysis (Full Version) | Lecture Video | Google Input Method (Input:exe) |
Certification Exam: Business Data Analyst | Exam Question Bank (70 Questions Extracted) | Certification Registration & Guidelines | Exam Format: 100 multiple-choice questions, 1 point each, 70 points to pass | Official Exam Textbook | |
Certification Exam: SAS Machine Learning International Certification | Exam Question Bank | Certification Registration & Guidelines | Course Required Before Exam. Exam Format: 50-55 multiple-choice & fill-in-the-blank questions, Language: English, Pass Mark: 65% | Official Software: SAS Viya Virtual Lab | |
Job Search References | Top Salaries in Listed Companies (2023) | ESG-InfoHub: Employee Salary Disclosure | How a Small Night Market Shop Became a Billion-Dollar Fashion Brand | Smart Retail III: How Data Helps Physical Stores Rebound | |
Datasets | UCI Datasets | Kaggle Datasets | |||
Python Teaching Resources | Book: Cross-field Python Learning | Book: Python Data Science & AI | Book: Learn Python with One Command | ||
Pandas Learning Resources | Official Pandas Documentation (English) | W3Schools Pandas Tutorial (English) | W3Cschool Pandas Tutorial (Chinese) | Gairuo Pandas Tutorial | |
Python Online Execution | Python.org Online Shell | Replit Python Compiler | OnlineGDB Python Compiler | Tutorialspoint Python Executor |
Homework | |||||
Homework 1 | |||||
Homework 2 | |||||
Homework 3 | |||||
Homework 4 | |||||
Homework 5 |
Assignment: This is a commissioned project from a department head at a private university. Due to increasing enrollment challenges, they have requested an analysis of student recruitment and enrollment patterns. Please analyze the potential recruitment sources from various perspectives, examine year-over-year trends, and evaluate past strengths and weaknesses. Finally, write a brief report summarizing your findings and provide recommendations on how to improve enrollment rates. |
||||
Side Project |
Side Project (Can be included in your portfolio) Assignment: You are a newly hired business data analyst at Company A. In 2016, the company experienced a significant decline in revenue, and management has tasked you with analyzing historical data to identify the root causes. Please conduct a thorough analysis from multiple perspectives, including different business units, sales representatives, products, annual, quarterly, and monthly trends. Use quantitative methods to support your findings, ensuring that your analysis is credible, accurate, and authoritative. Establish yourself as a professional in data analysis. |
chp1-1.前言 | |||||
1.課程簡介投影片 | 2.學習程式的3種方法 | ||||
範例1-2.數據分析3部曲,與對應的工作職缺(1)研究數據分析的3步驟圖:
|
|||||
|
範例1-3.數據分析常用工具(1)資料分析常用工具:
|
|||||
|
範例1-4.數據相關的證照(1)資料分析相關的證照:中華企業資源規劃學會『商用數據應用師』證照
|
|||||
|
範例1-5.數據分析的內容是什麼?
數據分析的內容主要分三種(統計,比較,預測)
|
|||||
|
範例2-1.現今企業的數據有哪些:(1)所謂大數據,即是透過不同來源、渠道取得的海量數據資料現今企業如果想做數據蒐集的方法變得非常多元,包括:(2)來自用戶的第一方數據:☎傳統的用戶資料建檔、問卷調查,☎網頁的瀏覽行為等數據的追蹤, ☎App應用程式的瀏覽行為等數據的追蹤、 ☎物聯網IoT設備傳遞的數據等, 這些都是可以蒐集到。 還有更多可捕捉用戶站外資訊的非第一方數據也漸漸被重視, (3)透過交換共享得到的第二方數據:☎第二方數據 (也稱為第二方或 2P 數據):是另一個同行公司收集的數據,但可由另一家公司通過購買或協作訪問。☎營銷人員在希望擴展其營銷資料庫以吸引新的潛在客戶時,通常會購買它。 ☎例如,如果一個為女性製作的服裝品牌決定增加一個男裝系列,並且需要相關的目標來行銷,就可以向外同行公司購買男裝的數據資料庫。 (4)任何與商業需求有關的第三方數據:☎第三方數據 (也稱為第三方或3P數據):是來自第三方的數據,該第三方已聚合了多個數據源並使其可供購買。☎第三方數據的缺點:是它可能缺乏準確性和品質,因此重要的是了解數據來自何處以及數據使用年限. (5)比較:第一方、第二方和第三方數據之間的差別:第一方、第二方和第三方數據之間的主要區別在於:『來源』。☎第一方數據:由其『存儲/擁有的公司』收集。 ☎第二方數據:由『同行公司』收集,並由另一家公司購買(或通過合作協定與他們共用)。 ☎第三方數據:是從『多個未知來源』收集的,並由一家公司購買。 ![]() (6)參考文獻: 1.第一方、第二方、第三方和零數據對廣告商意味著什麼 2.分析大數據在各領域的應用 |
|||||
|
範例2-2.市場上的數據需求,主要分為四個階段:☎數據蒐集、☎數據分析、 ☎數據應用
(1)數據蒐集:蒐集第一方、第二方和第三方數據
|
|||||
|
2-3.資料生產的四步驟:• 資料指標體系搭建• 資料獲取 • 資料存儲 • 數據清洗 2.建立資料後,即可開始資料分析 ![]() |
|||||
|
2-4.資料最基本的三個概念:☎顆粒度☎維度 ☎指標
(1)顆粒度
☎資料的顆粒度是指數據的 “粗細”,也就是我們看資料的視野的大小,或者說格局的大小。 |
|||||
|
2-5.為什麼有大數據的問題
現在的企業資料,因為以下的興起,造成大量數據的需求:
☎網路網路資料(社交網站,交易資料) |
|||||
|
2-6.大數據分析與傳統商業分析的差異
|
|||||
|
2-7.大數據的分析步驟:取得,儲存,運算,視覺化
|
|||||
|
1.三大視覺化工具:Power BI,Tableau,Data Studio
|
|||||
|
2-9.大數據的類型:結構化、非結構化、半結構化資料
|
|||||
|
chp2.安裝與使用python的四種方法 | |||||
1.使用python的四種方法 | 2.Anaconda下載點 | 3.安裝anaconda | 4.Anaconda cmd指令 | ||
5.建立Anaconda虛擬環境 | 6.使用Spyter編譯器 | 7.網頁版python編輯器jupyter notebook | 8.其它線上雲端可編譯的python平台 | ||
1.前言 |
Python堪稱是大數據與AI時代的最重要程式語言,在資料處理上有著非常重要的地位。而隨著AI的興起,讓傳統的零售業、金融業、製造業、旅遊業,以及政府都爭相投入,無不希望能運用數據分析與預測來協助決策方向,也讓新興的數據分析師、資料分析師成為熱門職業,因此本課程將講解如何使用網絡爬蟲技術以掌握資料爬取分析、視覺化呈現,以及儲存交換應用的關鍵技術。 Python資料處理的三大技術分別是:擷取分析、視覺化呈現與儲存應用。 而其應用的範疇包括:網路爬蟲、資料正規化、資料視覺化、資料儲存與讀取(CSV、Excel、Google試算表、SQLite、MySQL)、批次檔案下載、公開資料應用、API建立、驗證碼辨識。 |
||||
Python大數據分析最重要的四個模組 |
1.Python大數據分析最重要的四個模組 |
||||
2.執行python的四種方法 |
1.要編寫python有四種的方法:
缺點:功能陽春,沒有太多的模組,無法馬上寫大數據分析程式。 |
||||
3.Anaconda下載點 |
|
||||
3.安裝anaconda |
3.安裝anaconda 功能:原始的python功能太陽春,若下載anaconda,則可以提供300多種的科學數學模組,可以提供大數據資料分析 (1)Anaconda是一個免費的Python和R語言的發行版本,用於計算科學(資料科學、機器學習、巨量資料處理和預測分析) (2)因為Anaconda有很多的數據分析模組,所以大數據分析會使用到的『pandas、Numpy、Scipy』python package套件,在anaconda安裝完成時就已經包含在裡面了。 (3)Anaconda中文是森蚺(大蟒蛇)。 1)可以把Anaconda當作是Python的懶人包,除了Python本身(python2, 3) 還包含了Python常用的資料分析、機器學習、視覺化的套件 2).完全開源和免費 3).額外的加速、優化是收費的,但對於學術用途可以申請免費的 License 4).全平台支持:Linux、Windows、Mac 5).支持 Python 2.6、2.7、3.3、3.4,可自由切換, 6).內帶spyder 編譯器(還不錯的spyder編譯器) 7).自帶jupyter notebook 環境 (就是網頁版的python編輯器,副檔名為IPthon) (4)常用套件: ![]() Numpy: Python做多維陣列(矩陣)運算時的必備套件,比起Python內建的list,Numpy的array有極快的運算速度優勢 Pandas:有了Pandas可以讓Python很容易做到幾乎所有Excel的功能了,像是樞紐分析表、小記、欄位加總、篩選 Matplotlib:基本的視覺化工具,可以畫長條圖、折線圖等等… Seaborn:另一個知名的視覺化工具,畫起來比matplotlib好看 SciKit-Learn: Python 關於機器學習的model基本上都在這個套件,像是SVM, Random Forest… Notebook(Jupyter notebook): 一個輕量級web-base 寫Python的工具,在資料分析這個領域很熱門,雖然功能沒有比Pycharm, Spyder這些專業的IDE強大,但只要code小於500行,用Jupyter寫非常方便,Jupyter也開始慢慢支援一些Multi cursor的功能了,可以讓你一次改許多的變數名稱 (5)優點:省時:一鍵安裝完90%會用到的Python套件,剩下的再用pip install個別去安裝即可 (6)缺點:占空間:包含了一堆用不到的Python的套件(可安裝另一種miniconda) (7)下載網址:https://www.anaconda.com/ 選擇個人版:indivisual https://www.anaconda.com/products/individual →Download →Windows Python 3.7(會自動幫你安裝Python 3.7) 64-Bit Graphical Installer (466 MB) 32-Bit Graphical Installer (423 MB) (8)安裝過程,要勾選 不勾選:add the anaconda to the system PATH(但是2020年,ananconda不建議勾選這個,容易發生錯誤) 勾選:Register anaconda as system Python 3.7 (9)安裝結束 →在windows開始→anaconda有6個項目,最常用的有3個 (1)anaconda prompt:可以直接下cmd指令 (2)Spyter:編譯器(還不錯的spyder編譯器) (3)jupyter notebook(網頁版的python編輯器,副檔名為IPthon) |
||||
4.Anaconda prompt:cmd指令 |
4.使用anaconda prompt:直接下cmd指令 注意:windows 10 必須使用管理員來執行(點選anaconda prompt→滑鼠右鍵→以系統管理員身份進行) (1)列出目前已經安裝的anaconda的模組與版本: conda list (2)對某個模組更新安裝 conda update 模組 範例:conda update ipython (3)安裝某個模組 方法1:conda install 模組 範例:conda install numpy # 安裝 NumPy 1.15 以後、 1.16 以前 conda install 'numpy>=1.15,<1.16' 方法2:pip install 模組 範例:pip install numpy (4)解除安裝某個模組 方法1:conda uninstall 模組 範例:conda uninstall numpy 方法2:輸入 conda remove PACKAGE_NAME可以從目前的工作環境移除指定套件。 # 移除 NumPy conda remove numpy numpy-base 方法3:pip uninstall 模組 範例:pip uninstall numpy (5)在anaconda prompt執行python程式 方法1: 先到工作目錄:cd ch1 執行.py程式:python test1.py 方法2:python c:\chp1\test1.py (6)常用指令 conda --version 檢視 conda 版本 conda update PACKAGE_NAME更新指定套件 conda --help 檢視 conda 指令說明文件 conda list --ENVIRONMENT 檢視指定工作環境安裝的套件清單 conda install PACAKGE_NAME=MAJOR.MINOR.PATCH 在目前的工作環境安裝指定套件 conda remove PACKAGE_NAME 在目前的工作環境移除指定套件 conda create --name ENVIRONMENT python=MAIN.MINOR.PATCH 建立新的工作環境且安裝指定 Python 版本 conda activate ENVIRONMENT 切換至指定工作環境 conda deactivate 回到 base 工作環境 conda env export --name ENVIRONMENT --file ENVIRONMENT.yml 將指定工作環境之設定匯出為 .yml 檔藉此複製且重現工作環境 conda remove --name ENVIRONMENT --all 移除指定工作環境 使用 conda list | grep numpy 檢查 Python 套件清單中是否還有 NumPy 套件 輸入 conda search PACKAGE_NAME可以檢視指定套件在 conda 中可安裝的版本列表。 # 檢視 NumPy 在 conda 中可安裝的版本 conda search numpy=1.16.3 |
||||
5.用Anaconda prompt來建立虛擬環境 |
5.使用Anaconda prompt來建立虛擬環境 功能:可以建立多個Anaconda虛擬環境 例如:目前安裝後預設是python 3.x版本的環境,若要創建一個python 2.x的環境,就可以在Anaconda虛擬環境實現 (1)# 檢視電腦中可使用與目前所在的工作環境 conda env list (2)使用 conda create --name ENVIRONMENT python=MAIN.MINOR.PATCH 指令可以建立出乾淨、極簡且資源隔絕的工作環境。 指令:conda create -n 虛擬環境名稱 python=版本 anaconda # 建立一個名稱為 demo 的 Python 2 工作環境 conda create --name demo python=2 範例:建立py27env環境 conda create -n py27env python=2.7 anaconda (3)輸入 conda activate ENVIRONMENT 可以啟動指定工作環境、 方法1:conda activate ENVIRONMENT 方法2:activate ENVIRONMENT 範例:activate py27env 方法3:到windows→開始→點選Anaconda prompt(py27env) (4)關閉虛擬目錄,回到原本pytohn環境(base) 使用 conda deactivate 則是切換回預設的 base 工作環境。 方法1:conda deactivate 方法2:deactivate (5)# 檢視 demo 工作環境中的套件 conda list -n py27env (5)範例 A.建立py27env虛擬環境 conda create -n py27env python=2.7 anaconda B.切換到py27env虛擬環境 activate py27env C.檢視 demo 工作環境中的套件 conda list -n py27env D.# 檢視 Python 版本 python --version E.關閉虛擬目錄,回到原本pytohn環境(base) deactivate (5)複製一個與目前pyhon環境(或是py27env) 完全相同的工作環境 conda create -n 新虛擬環境名稱 --clone root 範例:conda create -n py27env2 --clone root # 檢查明確所有虛擬環境名稱 conda info -e (6)移除某個虛擬環境 conda remove -n 虛擬環境名稱 --all 範例:conda remove -n py27env --all (7)常用指令整理 安裝:conda install 更新:conda update 移除:conda remove 在工作環境管理透過 創建:conda create 啟動:conda activate 停止:conda deactivate 匯出設定檔:conda env export 移除:conda remove |
||||
6.使用Spyter編譯器 |
6.使用Spyter:編譯器 (1)新增一個py檔案 File→ New file print("你好,歡迎光臨") print(1+1) Run➤ (2)開啟已經存在的檔案 方法1:File→ Open 方法2:拖曵檔案總管的py檔案到Spyder (3)在Spyter使用簡易智慧輸入 方法:按『tab』 範例: 先輸入p 然後按『tab』 出現list清單,都是p開始的指令 (4)程式除錯 方法1:若是這一行有指令寫錯,就會在最左邊出現三角形▲警告icon 方法2:在這個一行最左邊double click,就會出現中斷點(或是這一行按F12) |
||||
7.jupyter notebook網頁版的python編輯器 |
7.jupyter notebook (1)功能:是網頁版的python編輯器,副檔名為IPthon 會開啟瀏覽器:http://localhost:8888/tree 對應的硬碟目錄 = C:\Users\電腦名稱 (例如: C:\Users\user) (2)練習線上編輯一個簡單python程式 A.右方→New→Python3 在cell裡面輸入In[1] a = ("apple","grape","banana") print(a[2]) B.Run C.修改檔案名稱→Untitled→exp1-3 D.查詢雲端檔案放置位置:C:\Users\電腦名稱\exp1-3.ipynb (3)二種不同的Run方式 A.Run:會新增一個new cell B.Ctrl+Enter:會停留在原本的cell (4)在jupyter notebook使用簡易智慧輸入 方法:按『tab』 範例: 先輸入p 然後按『tab』 出現list清單,都是p開始的指令 (5)在jupyter notebook編輯的檔案無法讓python IDE編譯 jupyter notebook編輯的檔案是.ipynb 與python的.py不同 改善方法:只能把程式碼複製貼上,在兩個平台交流 |
||||
8.其它線上雲端可編譯的python平台 |
8.其它線上雲端可編譯的python平台 網站:http://rep.it/languages/python3 |
||||
chp3.Pandas與數據分析 | |||||
2-1.Python大數據分析最重要的四個模組:pandas,matplotlib,numpy,scipy | 2-2.Pandas介紹 | 2-3.Pandas安裝 | 2-4.Pandas的資料結構 | ||
Pandas速查手冊 | 2-1-Pandas速查手冊 | ||||
上課參考教材 | 用Pandas掌握商務大數據分析 | pandas官網(英文) | w3schools的pandas教學(英文) | runoob的pandas菜鳥教程(中文) | |
pandas參考教材 | w3Cschool的pandas教學(中文) | Steam教學網-python | 蓋若pandas 教程 | pandas的df的操作函數 | |
pandas參考教材 | 十分鐘入門 Pandas(英文) | 十分鐘入門 Pandas(英文) | 10分鐘的Pandas入門-繁中版 | 十分鐘入門 Pandas(中文) | |
pandas參考教材 | pandas官網全部章節翻譯 | pandas官網全部章節翻譯 | |||
pandas參考教材(英文) | kaggle pandas教學 | 100 pandas tricks to save you time and energy | 官網0.22.0:pandas documentation | ||
pandas參考教材(中文) | Pandas 101:資料分析的基石 | 資料科學家的pandas 實戰手冊:掌握40 個實用 | 簡明 Python Pandas 入門教學 | 資料分析必懂的Pandas DataFrame處理雙維度資料方法 | |
pandas速查手冊 | pandas 速查手册 - 盖若 | Pandas速查手冊中文版 - 知乎專欄 | Pandas速查手冊中文版- 騰訊雲開發者社區 | ||
pandas速查手冊 | Pandas中DataFrame基本函數整理(全) | Pandas 魔法筆記(1)-常用招式總覽 | |||
資料集dataset | kaggle小費資料集範例A Waiter's Tips example | 【視覺化】小費(tips)資料集分析 | 小費(tips)資料集提取和檢視相應資料 | 小費資料集Tips Dataset(csv) | |
資料集dataset | Kaggle的星巴克滿意度調查資料集( | 中文解析:Kaggle星巴克滿意度調查 | |||
SQL語法 | SQL語法教程 | pandas vs SQL | 如何在Pandas裡寫SQL查詢語句 | ||
資料分析4大模組(runoob) | numpy | pandas | matplotlib | scipy | |
資料分析四大模組 |
1.Python大數據分析最重要的四個模組
是基於numpy的資料分析工具,能夠快速的處理結構化資料的大量資料結構和函數。 |
||||
Pandas介紹 |
2-2.Pandas介紹:
(1)Pandas是python的一個數據分析模組,2009 年底被開發出來。 |
||||
Pandas安裝 |
2-3.Pandas安裝:
安裝方法: |
||||
Pandas的資料結構 |
2-4.Pandas的資料結構:
(1)Series:用來處理時間序列相關的資料(如感測器資料等), |