數據分析-Pandas數據的直方圖探查
數據分析和處理中,難免會遇到各種數據,那么數據呈現怎樣的規律呢?不管金融數據,風控數據,營銷數據等等,莫不如此。如何通過圖示展示數據的規律?
數據表,時間序列數據在數據分析建模中很常見,例如天氣預報,空氣狀態監測,股票交易等金融場景。數據分析過程中重新調整,重塑數據表是很重要的技巧,此處選擇Titanic數據,以及巴黎、倫敦歐洲城市空氣質量監測 N O 2 NO_2 NO2?數據作為樣例。
數據分析
數據分析-Pandas如何轉換產生新列
數據分析-Pandas如何統計數據概況
數據分析-Pandas如何輕松處理時間序列數據
數據分析-Pandas如何選擇數據子集
數據分析-Pandas如何重塑數據表-CSDN博客
經典算法
經典算法-遺傳算法的python實現
經典算法-模擬退火算法的python實現
經典算法-粒子群算法的python實現-CSDN博客
本文用到的樣例數據:
Titanic數據
樣例代碼:
源代碼參考 Pandas如何重塑數據表
源代碼參考 python數據分析-數據表讀寫到pandas
導入關鍵模塊
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltplt.close("all")
很多時候數據的比例總和能否為1,有可能不成立,比如它們如果是不同的屬性,那是沒有辦法的。但是又需要探查哪個屬性的出行頻度,比例關系,這時候可以試試直方圖。它是不同數值的出現頻度,也就是計數,或者計數的比例關系。
探究數據的數值頻度關系
直方圖在圖像處理中很常見,查看像素的亮度數值,如何把數值的分布展示呢?比如,想知道一幅圖像的亮度的數值多少和比例。
該例使用隨機生成數據來舉例。
np.random.seed(36)df4 = pd.DataFrame({"a": np.random.randn(1000) + 1,"b": np.random.randn(1000),"c": np.random.randn(1000) - 1,},columns=["a", "b", "c"],
)plt.figure();
df4.plot.hist(alpha=0.5);
多組直方圖堆疊關系
各列數值的和是統計對象,但是各列其實是分類的分組,例如醫學里面的常見藥物效果對照,一組是服藥,一組是安慰劑,想查看它們之間的關系,需要在一幅圖展示,怎么辦?
當然,只需要設定參數 stacked=True,此處為了更多細節,設置了bins參數
plt.figure();df4.plot.hist(stacked=True, bins=20);
累積直方圖
累積直方圖就是小于該數值的數量都累加,最后的數值為總量,如果是比例關系的話,就是1.0。
只要設置 cumulative參數就行,當然,如果需要躺平,也可以設置方向參數orientation。
plt.figure();df4["a"].plot.hist( cumulative=True);plt.figure();df4["a"].plot.hist(orientation="horizontal", cumulative=True);
多列直方圖
df4 = pd.DataFrame({"a": np.random.randn(1000) + 1,"b": np.random.randn(1000),"c": np.random.randn(1000) - 1,"d": np.random.randn(1000) + 2,},columns=["a", "b", "c", "d"],
)df4.diff().hist(color="k", alpha=0.5, bins=50);
分組直方圖
data = pd.Series(np.random.randn(1000))
data.hist(by=np.random.randint(0, 4, 1000), alpha=0.5, bins=20, figsize=(6, 4));
data = pd.DataFrame({"a": np.random.choice(["x", "y", "z"], 1000),"b": np.random.choice(["e", "f", "g"], 1000),"c": np.random.randn(1000),"d": np.random.randn(1000) - 1,},
)
data.plot.hist(by=["a", "b"], alpha=0.5, bins=20, figsize=(10, 10));
以上代碼只是一個簡單示例,示例代碼中的表達式可以根據實際問題進行修改。
后面介紹下其他的展示形式。
df.plot.area df.plot.barh df.plot.density df.plot.hist df.plot.line
df.plot.bar df.plot.box df.plot.hexbin df.plot.kde df.plot.pie
df.plot.scatter
覺得有用 收藏 收藏 收藏
點個贊 點個贊 點個贊
End
GPT專欄文章:
GPT實戰系列-ChatGLM3本地部署CUDA11+1080Ti+顯卡24G實戰方案
GPT實戰系列-LangChain + ChatGLM3構建天氣查詢助手
大模型查詢工具助手之股票免費查詢接口
GPT實戰系列-簡單聊聊LangChain
GPT實戰系列-大模型為我所用之借用ChatGLM3構建查詢助手
GPT實戰系列-P-Tuning本地化訓練ChatGLM2等LLM模型,到底做了什么?(二)
GPT實戰系列-P-Tuning本地化訓練ChatGLM2等LLM模型,到底做了什么?(一)
GPT實戰系列-ChatGLM2模型的微調訓練參數解讀
GPT實戰系列-如何用自己數據微調ChatGLM2模型訓練
GPT實戰系列-ChatGLM2部署Ubuntu+Cuda11+顯存24G實戰方案
GPT實戰系列-Baichuan2本地化部署實戰方案
GPT實戰系列-Baichuan2等大模型的計算精度與量化
GPT實戰系列-GPT訓練的Pretraining,SFT,Reward Modeling,RLHF
GPT實戰系列-探究GPT等大模型的文本生成-CSDN博客