使用 Python 進行數據分析 [你需要知道的一切]

已發表: 2020-09-02

對於任何想要開始數據分析的人來說,首先想到的語言是 R 或 Python。 而開發人員現在更傾向於 Python 的原因在於它在通用軟件開發領域的廣泛適應性。 因此,對於開始進入數據科學領域的人來說,使用 python 進行數據分析是最常聽到的術語之一。

目錄

為什麼要進行數據分析?

現在首先,為什麼要進行數據分析? 好吧,這是了解您正在使用的數據類型的第一步。 這是您在數據中找到有價值的模式的步驟,否則您可能看不到這些模式。 總體而言,它提供了對手頭數據集的直觀理解。

在這裡,我們確實需要在數據分析和數據預處理之間劃清界限。 數據預處理涉及對數據集進行建模,以確保它已準備好進行訓練。 數據分析是了解數據集,是數據預處理的前置步驟。 在數據分析中,我們嘗試對數據進行建模以更好地查看它,從而了解有關手頭數據集的見解。

為什麼是 Python?

第二個問題是,為什麼是 Python? 好吧,我們已經說過 Python 是一種廣泛適用的語言。 是的,它不是數據分析的唯一選擇,但它是一個非常好的選擇。 另一個原因是它使用得更多! Python 很簡單,並且擁有龐大的開發人員社區來幫助您使用 python 進行數據分析 此外,使用 Python進行數據分析非常有趣,因為它提供了大量用於數據分析和可視化的創意庫。

在 Python 中,數據分析的基礎庫是 Pandas。 它是一個高級庫,建立在 NumPy 庫之上,用於科學計算和數值分析。 Pandas 通過提供稱為 DataFrame 的數據結構使處理數據變得更容易。 DataFrame 有助於讀取和存儲數據集。 它提供了讀取和寫入數據集的基本功能,以及查看元數據和查詢功能以從數據集中提取每一個見解。

值得注意的是,數據可視化是整體數據分析的重要組成部分。 因為它不僅有助於您自己更好地理解數據,還有助於您提供見解的人。 我們將討論兩個最常用的可視化庫:Matplotlib 和 Seaborn。 Matplotlib 是 Python 中任何可視化的基礎庫。 Seaborn 也是在 Matplotlib 之上製作的,它提供了一些最具創意的數據可視化功能。

設置環境

第一步是設置您的環境。 在使用 python 執行數據分析時,重要的是要有一個適當的環境來保存您的所有工作。 使用 python進行數據分析不僅僅是一個腳本,而是你自己與數據集的交互,為此,你確實需要一個合適的工作場所。

在 python 中,該服務由 Anaconda Distribution 提供。 Anaconda 的主要工作場所是 Jupyter notebook。 那麼,現在為什麼選擇 Jupyter? 好吧,它可以讓您直接在筆記本中進行可視化。 它還具有一些神奇的功能,可讓您直接查看輸出,而無需明確說明您想要它的位置。

庫、Pandas 和 Matplotlib 是預先安裝的,因此使用它們不需要額外的設置。

以下是如何使用 Python 進行數據分析的概要

  • 加載數據集
  • 使用 Pandas 查看數據集的元數據
  • 使用 Matplotlib 進行數據可視化
  • 收集有關數據的見解

導入必要的庫

在我們開始查看步驟代碼之前,只需使用偽標籤導入必要的庫,就像我們為整個程序調用它們的名稱一樣。

numpy導入np

熊貓導入pd

# 用於數據可視化

matplotlib.pyplot導入plt

seaborn導入sns

現在我們將查看每個步驟並討論哪些功能可用以及如何使用這些功能。

首先,讀取數據集。 Pandas 提供了一些將數據集加載到其核心數據結構中的基本功能:DataFrame。 我們可以如下使用它。

data_df = pd.read_csv('heart.csv')

任何讀取函數的輸出都將是一個 DataFrame。 除了 CSV 閱讀器,pandas 還為幾乎所有類型的數據提供閱讀器。 從 HTML 到 JSON 和 Excel。

除此之外,如果您沒有任何此類數據並想創建數據集,您可以輕鬆使用 Pandas 的 Series 和 DataFrame 對象函數。

因此,一旦您掌握了數據,讓我們繼續查看數據的內容。 要獲得數據的第一個視圖,您可以使用 df.info 或 df.describe 等函數來了解數據集的結構。

data_df.info()

data_df.describe()

一旦您知道您的數據集包含哪些特徵,您可能想要查看這些特徵的值。 您可以使用 df.head() 函數獲取前 5 個樣本。

data_df.head()

#要么

data_df.head(3)

您還可以指定樣本數以覆蓋默認值 5。您還可以使用 df.tail() 函數獲取數據集的最後 5 個值。

data_df.tail()

這只是為了對您的數據的外觀有一個高級概述。 準備就緒後,您可以使用 Matplotlib 開始主要的數據可視化任務。 打入以下代碼以使繪圖具有交互性並在筆記本本身中查看相同的內容。

%matplotlib 內聯

我們將在 matplotlib 中看到前 5 個可視化的功能。 在進入它之前,我們應該知道一些控制我們的情節的其他功能。 功能如下:

  • 標籤:xlabel()、ylabel()。 它們用於 x 軸和 y 軸標籤。
  • 圖例:用於製作情節的圖例。
  • 標題:為您的繪圖分配標題
  • 最後,顯示功能以查看繪圖。

結帳:印度的數據分析師薪水

可視化

現在讓我們看看可視化。 我們將從基本情節開始。 plt.plot() 用於為您的數據生成簡單的線圖。 該函數強制需要兩個參數,分別是x軸數據和y軸數據。 您可以選擇為繪圖提供樣式、名稱和顏色。 這是它在代碼中的樣子。

plt.plot(data_df['chol'])

第二個圖是直方圖。 直方圖可幫助您查看特定特徵的頻率或分佈。 它可以幫助您查看數量之間的關係。 Plt.hist() 是在數據上創建直方圖的基本函數。 您可以提及 bins 參數來控制繪圖上的數字。 如果要進行單變量分析,則只需要傳遞單軸數據。

plt.hist(data_df['年齡'])

您會經常看到的另一個圖是條形圖。 它有助於分析和比較不同的特徵。 與直方圖不同,條形圖用於處理分類數據。

您可以直接在 DataFrame 上應用繪圖,也可以在 plt.bar() 函數中指定參數。 以下是我們如何使用它。

df = pd.DataFrame(np.random.rand(15, 5), columns=['t1', 't2', 't3', 't4', 't5'])

df.plot.bar()

您還可以使用 barh() 函數水平使用條形圖。

另一個有見地的圖表是箱線圖。 它有助於理解每個特徵中值的分佈。 您可以使用 plt.boxplot() 函數指定要在其上生成箱線圖的數據。 當您需要快速查看數據集中的離散度或偏度時,該圖特別有用。 這是您可以使用它的方法。

plt.boxplot(data_df['chol'])

每當您使用統計數據時,您肯定會看到散點圖。 散點圖有助於觀察兩個特徵之間的關係。 該圖需要 x 軸數據和 y 軸的數值。 您可以簡單地在 plt.scatter() 函數中提供這兩個值,也可以通過在 x 和 y 屬性中指定列名直接應用於 DataFrame。 以下是如何使用它:

plt.scatter(data_df['age'], data_df['chol'])

現在是向您介紹 Seaborn 函數的合適時機。 seaborn 中的散點圖比 matplotlib 更直觀,因為它還默認在圖中提供回歸線,以更好地可視化圖。 您可以使用 sns.lmplot() 函數來繪製該圖。

sns.lmplot('年齡', 'chol', data=data_df)

正如您在上圖中所見,回歸線有助於更好地理解分佈。

使用 seaborn 的另一個改進是群體圖。 它用於繪製分類散點圖。 與類似的條形圖相比,群圖的優點之一是它僅使用非重疊點。 因此,這是一個更清晰的情節,因此可以提供更好的洞察力。

sns.swarmplot(data_df['age'], data_df['chol'])

因此,這些是 Matplotlib 和 Seaborn 中不同類型的圖。 這只是冰山一角,還有數百種其他不同的方法可以繪製數據以提取有關數據的創造性見解。

現在您知道了這些圖,讓我們看看如何使用 python 進行實際數據分析 我們將看一些更多的圖,看看它們向我們展示了關於使用 python 進行數據分析的內容

開始吧。

加載數據後,任何數據分析師現在要做的第一件事就是製作 pandas 配置文件。 現在,這也可以看作是一種快捷方式,但是如果您想查看數據集中變量的所有關係、計數和直方圖,您可以使用 pandas 分析。 很容易生成,只需下載pandas-profiling模塊,打入如下代碼即可:

導入pandas_profiling

profile = pandas_profiling.ProfileReport(data_df)

輪廓

如您所見,有大量的元數據信息和個別特徵信息。 這些可能會導致一些很好的理解。

我們可以做的第二件事是生成熱圖。 現在熱圖所做的是,它顯示了每個特徵與另一個特徵的相關性。 如果我們發現具有更高相關性的值,這意味著這兩個特徵彼此非常相似。 因此,我們可以刪除其中一項功能,但該模型仍然可以正常工作。

sns.heatmap(data_df.corr(), annot = True , cmap='Oranges')

在這裡我們可以看到沒有一個是高度相關的,因此我們可以告訴模型工程師我們需要所有特徵作為輸入。

我們可以看到年齡分佈是什麼,因為我們正在處理心髒病數據集,讓我們看看分佈,所以我們可以使用 seaborn 的 distplot。

sns.distplot(data_df['age'], color = 'cyan')

從圖中可以看出,大多數患有心髒病的人都在 50 到 60 歲之間。同理,我們還可以看到其他一些重要的特徵,比如靜息血壓,用 tresbps 表示。 我們可以製作一個箱線圖來查看與目標值(即 0 和 1)相比的分佈。

sns.boxplot(data_df['target'],data_df['trestbps'],調色板 = 'twilight')

我們可以從圖中得出結論,如果這個人的 tres bps 值較低,那麼他們患心髒病的機會就會低於 tres bps 值較高的人。

同樣,我們也可以看到與膽固醇水平的關係。 我們確實看到膽固醇水平較低的人患心髒病的機率較低。

您可以記錄所有這些見解並將其提供給機器學習工程師,然後他們可以使用它們來製作有效的模型。

結論

因此,這就是使用 python 進行數據分析的方法 這只是數據科學之旅的第一步。 要了解有關從數據和整體數據科學中提取創造性見解的更多信息,請在此處訪問 upGrad 提供的課程 您將找到一系列有用的課程,這些課程將有效地指導使用 python 進行數據分析。

學習世界頂尖大學的數據科學課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

我應該如何開始學習 Python 進行數據分析?

如果您正在學習 Python 進行數據分析,那麼您來對地方了。 你需要有一個循序漸進的方法來使學習過程變得更簡單。 該過程如下所示:

1. 明確學習 Python 的目的以及如何在您的領域中使用它。
2.下載所需的Python終端並將其安裝在您的系統中。
3.通過學習不同的課程和了解不同的Python庫開始學習Python的基礎知識。
4.熟悉Python中使用的正則表達式。
5. 深入了解不同的 Python 庫,如 Pandas、NumPy、Matplotlib 和 SciPy。
6. 開始學習數據分析概念以及如何將 Python 與其集成。
7. 現在,您只需要繼續練習不同的工具和技術,以便更好地使用 Python 進行數據分析。 通過這個循序漸進的方法,您會發現學習 Python 非常容易,並且可以更好地使用它來處理數據分析。

Python如何用於數據分析?

眾所周知,Python 是一種非常重要的數據分析資源。 Python 以不同的方式幫助執行數據分析。 但在此之前,您需要準備用於分析的數據、執行統計分析、創建可以提供一些洞察力的數據可視化、根據可用數據預測未來趨勢等等。

Python 被發現是數據分析的關鍵元素,因為它有助於:

1. 導入數據集
2.清理和準備數據以進行分析
3. 操作 Pandas DataFrame
4. 總結數據集
5. 使用 Python 開髮用於數據分析的機器學習模型

我可以在一個月內學習 Python 嗎?

是的,如果你精通任何其他編程語言,如 Java、C、C++ 等,你絕對可以做到這一點。如果你的基礎很清楚,你會發現即使在一個月內學習 Python 也很容易。 除此之外,如果你努力並以一種有紀律的方式循序漸進的方法,即使你沒有其他編程語言的先驗知識,你也可以在一個月內學習 Python。 你只需要設定一個時間表,並在一個月內專注於學習 Python。