App下載

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

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

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

其他路線:

Python基礎(chǔ) >>

Python進(jìn)階 >>

Python爬蟲 >>

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

Python 算法(人工智能) >>

Python Web開發(fā) >>

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


符號(hào)表解釋:

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

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

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

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

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

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

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

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


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


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

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


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


一、環(huán)境搭建

  • ??Anaconda

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

??軟件資源>>>

  • Jupyter Notebook

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

??資源:

二、常用類庫(kù)

1、??NumPy

1.1 數(shù)組: 

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

1.2 索引: 

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

1.3 切片: 

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

1.4 多維數(shù)組: 

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

1.5 函數(shù): 

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



0 人點(diǎn)贊