App下載

【學(xué)習(xí)路線】Python數(shù)據(jù)分析(數(shù)據(jù)科學(xué)) 詳細(xì)知識點(diǎn)學(xué)習(xí)路徑(附學(xué)習(xí)資源)

小獅妹 2025-01-03 14:02:59 瀏覽數(shù) (683)
反饋

學(xué)習(xí)本路線內(nèi)容之前,請先學(xué)習(xí)Python的基礎(chǔ)知識

其他路線:

Python基礎(chǔ) >>

Python進(jìn)階 >>

Python爬蟲 >>

Python數(shù)據(jù)分析(數(shù)據(jù)科學(xué)) >>

Python 算法(人工智能) >>

Python Web開發(fā) >>

Python自動化運(yùn)維 >>


符號表解釋:

可根據(jù)知識點(diǎn)前的符號按需選學(xué),并獲取知識點(diǎn)描述和學(xué)習(xí)資源。

??必學(xué):核心知識點(diǎn),經(jīng)常用到。

?建議學(xué):重要知識點(diǎn),專業(yè)人士的基?。

?面試重點(diǎn):經(jīng)常出現(xiàn)的面試知識點(diǎn)。

?可有可無:邊緣區(qū)域,不是必須探索的地方。

??知識描繪:知識點(diǎn)描述,快速理解。

??學(xué)習(xí)資源:關(guān)聯(lián)的學(xué)習(xí)資源。

??學(xué)習(xí)目標(biāo):階段性目標(biāo)。


學(xué)習(xí)路線:自動化運(yùn)維


??描述: Python 數(shù)據(jù)分析是使用 Python 編程語言進(jìn)行數(shù)據(jù)收集、處理、分析和可視化的過程,通常用于從大型數(shù)據(jù)集中提取有價值的信息和見解。它包括使用庫和工具如 pandas、NumPy、Matplotlib 和 Seaborn 來執(zhí)行數(shù)據(jù)操作和可視化,以支持?jǐn)?shù)據(jù)驅(qū)動的決策和問題解決。這是數(shù)據(jù)科學(xué)領(lǐng)域中的關(guān)鍵技能,廣泛應(yīng)用于各種行業(yè),包括商業(yè)、醫(yī)療保健、金融和科學(xué)研究。

??目標(biāo): 銷售數(shù)據(jù)分析,分析公司的銷售數(shù)據(jù),包括銷售額、銷售趨勢、最暢銷產(chǎn)品等,并生成可視化報告。


??學(xué)習(xí)資源:


一、環(huán)境搭建

  • ??Anaconda

??描述: Anaconda 是一個開源的數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)平臺,旨在簡化數(shù)據(jù)分析和科學(xué)計算的工作流程。它包括一個強(qiáng)大的集成開發(fā)環(huán)境(IDE),稱為 Anaconda Navigator,以及一個包管理器 Conda。Anaconda 提供了許多常用的數(shù)據(jù)科學(xué)工具和庫的預(yù)安裝,如 NumPy、pandas、Matplotlib、Jupyter Notebook 和 scikit-learn,使用戶能夠輕松地開始數(shù)據(jù)分析和機(jī)器學(xué)習(xí)項目。

??軟件資源>>>

  • Jupyter Notebook

??描述: Jupyter Notebook 是一個交互式計算環(huán)境,廣泛用于數(shù)據(jù)科學(xué)和編程教育。它允許用戶創(chuàng)建和共享文檔,其中可以包含實時運(yùn)行的代碼、文本、圖像和可視化結(jié)果。

??資源:

二、常用類庫

1、??NumPy

1.1 數(shù)組: 

  • NumPy 最重要的數(shù)據(jù)結(jié)構(gòu)是 ndarray,它是一個多維數(shù)組對象。這些數(shù)組可以包含相同類型的元素,通常是數(shù)值。
  • 數(shù)組的維度稱為軸(axes),數(shù)組的維度數(shù)量稱為秩(rank)。
  • 通過 numpy.array() 函數(shù)或直接使用列表創(chuàng)建 NumPy 數(shù)組。

1.2 索引: 

  • NumPy 數(shù)組可以使用整數(shù)索引來訪問元素,索引從 0 開始。
  • 可以使用負(fù)數(shù)索引從數(shù)組的末尾開始訪問元素。

1.3 切片: 

  • 切片是一種從數(shù)組中提取子數(shù)組的方法,可以用于選擇數(shù)組的一部分。
  • 切片的語法是 array[start:stop:step],其中 start 表示起始索引,stop 表示結(jié)束索引(不包括),step 表示步長。

1.4 多維數(shù)組: 

  • NumPy 支持多維數(shù)組,可以是一維、二維或更高維度。
  • 多維數(shù)組的元素可以通過逗號分隔的索引訪問,例如 array[0, 1] 表示訪問第一行第二列的元素。

1.5 函數(shù): 

  • NumPy 提供了大量用于數(shù)值計算的函數(shù),包括數(shù)學(xué)、統(tǒng)計、線性代數(shù)等。
  • 一些常用的 NumPy 函數(shù)包括 numpy.sum()、numpy.mean()、numpy.std()、numpy.dot() 等。
  • NumPy 還支持廣播(broadcasting),使得對不同形狀的數(shù)組進(jìn)行運(yùn)算更加靈活。
2、??Pandas
2.1 Series:
  • Series 是 pandas 中的一維標(biāo)記數(shù)組,類似于 NumPy 數(shù)組或 Python 列表,但具有數(shù)據(jù)標(biāo)簽(索引)。
  • Series 由兩部分組成,數(shù)據(jù)部分和索引部分,可以將它看作是一列數(shù)據(jù)與該列數(shù)據(jù)的標(biāo)簽。
  • 創(chuàng)建 Series 可以使用 pandas.Series() 函數(shù),傳入數(shù)據(jù)列表或 NumPy 數(shù)組。
2.2 DataFrame:
  • DataFrame 是 pandas 中的二維數(shù)據(jù)結(jié)構(gòu),類似于電子表格或 SQL 表格,它由多個 Series 對象組成,每個 Series 代表一列數(shù)據(jù)。
  • DataFrame 是一個表格,每列可以包含不同類型的數(shù)據(jù),但是每列的數(shù)據(jù)類型必須相同。
  • 可以使用 pandas.DataFrame() 函數(shù)來創(chuàng)建 DataFrame,傳入數(shù)據(jù)和列標(biāo)簽。
2.3 索引:
  • 索引是 pandas 中非常重要的概念,它用于標(biāo)識和訪問 Series 和 DataFrame 中的數(shù)據(jù)。
  • 可以自定義索引,也可以使用默認(rèn)整數(shù)索引。
  • 索引在數(shù)據(jù)對齊和數(shù)據(jù)檢索中起著關(guān)鍵作用。
2.4 對齊:
  • 對齊是 pandas 的一個強(qiáng)大功能,它確保在進(jìn)行操作時,兩個對象的索引正確對齊,從而避免數(shù)據(jù)混亂或錯誤。
  • 當(dāng)對兩個具有不同索引的 Series 或 DataFrame 執(zhí)行操作時,pandas 會自動對齊它們的數(shù)據(jù)。
2.5 函數(shù):
  • pandas 提供了豐富的函數(shù)和方法,用于數(shù)據(jù)操作和變換,包括數(shù)據(jù)的篩選、排序、合并、分組等。
  • 一些常用的 pandas 函數(shù)包括 head()、tail()、info()、describe()、groupby() 等。
2.6 統(tǒng)計:
  • pandas 支持對數(shù)據(jù)進(jìn)行統(tǒng)計分析,包括計算均值、中位數(shù)、標(biāo)準(zhǔn)差、最大值、最小值等。
  • 可以使用 mean()、median()、std()、max()、min() 等函數(shù)來執(zhí)行這些統(tǒng)計操作。
3、?數(shù)據(jù)處理
3.1 數(shù)據(jù)清洗:
  • 數(shù)據(jù)清洗是數(shù)據(jù)預(yù)處理的重要步驟,用于處理數(shù)據(jù)中的錯誤、缺失值、重復(fù)項和不一致性。
  • 常見的數(shù)據(jù)清洗任務(wù)包括刪除重復(fù)行、填充缺失值、修復(fù)數(shù)據(jù)類型、處理異常值等,以確保數(shù)據(jù)質(zhì)量。
3.2 層次化索引:
  • 層次化索引是 pandas 中的一項高級功能,允許在一個軸上擁有多個索引級別。
  • 這使得數(shù)據(jù)可以以更復(fù)雜的方式進(jìn)行組織和檢索,特別適用于處理多維數(shù)據(jù),如多維時間序列數(shù)據(jù)。
3.3 數(shù)據(jù)連接:
  • 數(shù)據(jù)連接是將多個數(shù)據(jù)集合并為一個數(shù)據(jù)集的過程,通常根據(jù)某些共享的列(鍵)進(jìn)行連接。
  • 常見的數(shù)據(jù)連接操作包括內(nèi)連接、左連接、右連接和外連接,可以使用 pandas 的 merge() 函數(shù)執(zhí)行這些操作。
3.4 數(shù)據(jù)合并:
  • 數(shù)據(jù)合并通常指的是將多個數(shù)據(jù)集水平合并,即在列方向上合并數(shù)據(jù)。
  • pandas 提供了 concat() 函數(shù)用于在不同數(shù)據(jù)集之間執(zhí)行數(shù)據(jù)合并。
3.5 分組聚合:
  • 分組聚合是將數(shù)據(jù)分成不同的組,并對每個組應(yīng)用聚合函數(shù)(如求和、平均值、計數(shù)等)的過程。
  • 可以使用 groupby() 函數(shù)將數(shù)據(jù)按照某個列或多個列進(jìn)行分組,并應(yīng)用聚合函數(shù)來生成匯總信息。
3.6 軸向旋轉(zhuǎn):
  • 軸向旋轉(zhuǎn)是重新組織數(shù)據(jù)的操作,通常涉及將數(shù)據(jù)從長格式(長表)轉(zhuǎn)換為寬格式(寬表)或反之。
  • 可以使用 pivot()、melt()、stack()、unstack() 等函數(shù)來執(zhí)行軸向旋轉(zhuǎn)操作。
4、數(shù)據(jù)可視化
4.1 ??Matplotlib 
  • Matplotlib 是 Python 中最流行和最基礎(chǔ)的數(shù)據(jù)可視化庫之一,用于創(chuàng)建各種靜態(tài)、交互式和動態(tài)的圖表和圖形。
  • 它提供了廣泛的繪圖功能,包括散點(diǎn)圖、折線圖、柱狀圖、餅圖、熱力圖等。
  • Matplotlib 的繪圖方式相對底層,需要用戶手動設(shè)置圖形的各個屬性,因此有一定的學(xué)習(xí)曲線。
  • 通常與 Jupyter Notebook 等環(huán)境結(jié)合使用,用于數(shù)據(jù)探索和可視化。
  • ??資源>>>
4.2 Seaborn 
  • Seaborn 是建立在 Matplotlib 之上的高級數(shù)據(jù)可視化庫,旨在簡化創(chuàng)建漂亮和信息豐富的統(tǒng)計圖表。
  • 它提供了高級別的 API,可以輕松繪制各種統(tǒng)計圖,包括分布圖、箱線圖、熱力圖、回歸圖等。
  • Seaborn 的樣式和顏色調(diào)色板使得創(chuàng)建吸引人的可視化更加容易,而不需要大量的自定義設(shè)置。
  • 適用于數(shù)據(jù)分析、探索性數(shù)據(jù)分析(EDA)和報告生成。
4.3 Pyecharts 
  • Pyecharts 是一個基于 Echarts 的 Python 可視化庫,它提供了一種簡單的方式來創(chuàng)建交互式數(shù)據(jù)可視化。
  • Echarts 是一種流行的 JavaScript 圖表庫,Pyecharts 允許 Python 用戶輕松利用 Echarts 的功能。
  • Pyecharts 支持多種圖表類型,包括折線圖、柱狀圖、散點(diǎn)圖、地圖等,以及自定義主題和樣式。
  • 它適用于需要在 Web 應(yīng)用程序中嵌入交互式圖表的場景。



0 人點(diǎn)贊