什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
本博客將演示如何使用累積分佈圖(也稱為經驗累積分佈函數或 ECDF 圖),並展示使用這種繪圖變體相對於其他繪圖類型的優勢。您可以在本博客底部觀看本教程的完整視頻。
大多數人更喜歡 ECDF 圖而不是來可視化數據,因為他們直接繪製每個數據點,並且此功能使用戶可以輕鬆地與圖進行交互。今天,您將學習如何在 Python 和 LuckyTemplates 中使用 ECDF,並改進有關數據分佈的演示文稿和報告。
目錄
分佈圖的種類
我將從在特定的星期六過濾我的數據開始,我們可以在下面看到所有這些用於描述分佈的 Python 圖。我們這裡有 ECDF 圖、直方圖、KDE 圖和箱形圖。
所有這些圖都將描述數據是如何傳播或分佈的。例如,如果我們向下看直方圖,我們可以看到大多數這些高柱子將是我們數據所在的位置。
在我們下面的數據集中,我們的Tips數據在 3.50 美元左右是最高的。
我們還可以使用 KDE 圖,在查看分佈時為我們提供不同的指標。直方圖處理這些容器中的計數,而 KDE 處理密度。
使用 KDE 圖,您可以通過找出圖中最大的密度或最高的凸起來判斷我們的大部分數據在哪裡。所以在上圖中,我們可以說它分佈在 2 美元到 4 美元之間。
這同樣適用於箱形圖,它顯示分佈為 2 美元到 4 美元,這是我們大部分數據的位置。它使用中位數,即分隔框的水平線,讓我們了解最大分佈在哪裡。
然後,我們有 ECDF 圖,在 y 軸的左側,您可以看到Proportion一詞,代表我們的百分位數。根據該圖,在 3.50 美元時,我們正在查看大約 50% 的數據,在 5 美元及以下是我們 80% 的數據分佈的地方。
直方圖代碼
現在,我將向您展示這些圖中每一個的代碼,從直方圖開始。它們都有非常相似且可重複的編碼,因此您可以使用一個代碼(如模板)快速提取它們。
我們首先需要導入 Seaborn 並保存為 sb, 然後將 matplotlib.pyplot 保存為 plt。 我們將使用名為ggplot的背景樣式 和 matplotlib 變量來傳遞不同的樣式。
例如,在下圖中,我們可以看到在第 11 行中,我們為直方圖添加了標題,並在後續行中添加了刻度尺寸。yticks 和 xticks相應地 表示 x 和 y 大小。
在第 14 行中,我們使用一個 Seaborn 變量傳入函數,該函數會引入特定的繪圖,如上 例中的histplot ,它表示直方圖。然後我們將第 4 行的數據作為數據集傳遞給函數。
您帶入值的任何內容都代表您的數據集,並將刪除重複項。然後我們將使用 x 作為 tips 和 hue, 它與seaborn 一起允許您按類別分隔數據。如果我們回到我們的視覺,我們可以看到它有類別,包括時間、吸煙者。
KDE 圖
對於 KDE 繪圖,一切都幾乎相同。我們只需要傳入一個名為 shade 的新參數即可獲得陰影效果。除此之外,色調、數據等都是一樣的。
對於箱形圖,除了一些細微差別外,它與其他圖大體相似。這裡我們使用 boxplot 函數 ,其中 x 是日期, y 是提示。我們也沒有為這個情節使用 色調 。
所以它與 ECDF 圖的結構相同,唯一的區別在於 Seaborn 變量,我們在其中傳入 ECDF 圖並使用 hue 作為天。但是我們也可以將該色調更改為我們擁有的另一個類別,例如吸煙者。
如果我們傳入這個類別,我們最終會得到一個有兩條不同線的 ECDF 圖。在這些分佈中,我們可以看到吸煙者對我們特定的線寬有更多的了解。
非吸煙者 100% 的數據低於 6 美元,而吸煙者則為 6 美元。有趣的是,我們的吸煙者可能會在特定的一天留下更大的小費。
樣式化 ECDF 圖
現在我們可以進一步設計我們的 ECDF 圖,使它們更美觀。下圖中是不同的 ECDF 圖。在第一個圖中,我將線條變大並使用了不同的調色板。
在第一個圖中,我在函數內部使用了不同的參數。正如您在下面看到的,我將調色板作為 夏季傳遞 ,將線寬作為 5 傳遞。
我還比較了周六和周日,這就是為什麼有兩條不同的綠線。在這裡,我們可以看到 3 美元的小費在周日位於第 45 個百分位,在周四位於第 70 個百分位,這告訴我們人們傾向於在周日留下更高的小費。
我們還可以切換 X 軸和 Y 軸,交換圖中的比例和尖端,並更改調色板,如下圖所示。
在這裡我們可以看到 2 美元的小費在星期日的第 20 個百分位,即圖中的紫色線。所以數據與之前的 ECDF 圖相同,只是呈現方式不同。
我們現在有另一個具有相同數據集的圖,並保留如上圖所示的原始軸位置。這次的不同之處在於線條的方向是顛倒的。
ECDF 繪圖樣式
如果我們查看代碼,我們所做的只是傳入參數 complementary equals = true。 此操作 將使我們能夠說在 2 美元及以上的範圍內分佈了 80% 的數據,而不是說在 2 美元以下的範圍內分佈了 20% 的數據。同樣,它是具有不同外觀或呈現方式的相同數據。
在我們的第四個也是最後一個 ECDF 圖中,我們使用計數而不是比例。
當我們有多個地塊時,這種方法很有用。通過查看下圖中的計數列,我們可以看到週五沒有很多觀察結果,這告訴我們人們在那天沒有留下很多提示。
ECDF 地塊代碼要點
如果我們查看代碼,您會發現 Seaborn,這是創建此特定情節的主要內容。我們還有 用於樣式化的matplotlib.pyplot ,您可以將其保存為名為plt 的變量 。
然後我們可以使用該變量為我們的特定繪圖創建不同的樣式,例如添加標題和字體大小。您的代碼的主要部分將是我們在 Seaborn 中引入的 ECDF 繪圖函數。
R 腳本中的散點圖:如何創建和導入
Python 用戶定義函數 | R 中的 GGPLOT2概述
:使用 ESQUISSE 進行可視化
結論
這些是您可以使用不同分佈圖的方法,包括直方圖、KDE、Box 和 ECDF 圖。您還學習了四種使用相同數據集呈現 ECDF 圖的方法。您可以根據自己的喜好使用任何方法。
永遠記得引入必要的庫來創建你的繪圖並使用正確的函數。之後,只需更改情節的視覺和風格方面,如軸定位和色調。
一切順利,
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的