
散點圖大家都能繪制,平常工作匯報有時也會用散點圖讓報表看起來更美觀。但是,散點圖并不是為了展示數據,而是需要數據分析,并利用數據分析的結果推動業務的增長。小編今天跟大家分享的這篇文章就是教大家如何用散點圖進行數據分析的,希望對大家有所幫助。
文章來源:林驥微信公眾號
作者:林驥
你好,我是林驥。
散點圖的用途有很多,我認為它的核心價值,在于應用相關思維,發現變量之間的關系。
散點圖就像一扇窗,打開它,并仔細觀察,能讓我們看見更多有價值的信息。
比如說,假設表格中有 10000 個客戶年齡和消費金額的數據:
我們可以計算每一個年齡對應的人均消費金額,比如說,所有 20 歲客戶的平均消費金額約為 1383.69 元,然后我們可以畫出一張散點圖:
從圖中可以看出,客戶的年齡與人均消費金額有很強的相關性,其中應用了線性回歸算法,得到一條擬合的直線,并用公式表示出來, 接近于 1 ,代表算法擬合的效果很好。
接下來,我們看看具體實現的步驟。
首先,導入所需的庫,并設置中文字體和定義顏色等。
# 導入所需的庫 import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.preprocessing import PolynomialFeatures from sklearn.pipeline import Pipeline # 正常顯示中文標簽 mpl.rcParams['font.sans-serif'] = ['SimHei'] # 自動適應布局 mpl.rcParams.update({'figure.autolayout': True}) # 正常顯示負號 mpl.rcParams['axes.unicode_minus'] = False # 禁用科學計數法 pd.set_option('display.float_format', lambda x: '%.2f' % x) # 定義顏色,主色:藍色,輔助色:灰色,互補色:橙色 c = {'藍色':'#00589F', '深藍色':'#003867', '淺藍色':'#5D9BCF', '灰色':'#999999', '深灰色':'#666666', '淺灰色':'#CCCCCC', '橙色':'#F68F00', '深橙色':'#A05D00', '淺橙色':'#FBC171'}
其次,從 Excel 文件中讀取數據,并調用 sklearn 中的算法,得到擬合的直線和評分結果。
# 數據源路徑 filepath='./data/客戶年齡和消費金額.xlsx' # 讀取 Excel文件 df = pd.read_excel(filepath, index_col='客戶編號') # 定義畫圖用的數據:年齡和人均消費金額 df_group = df.groupby('年齡').mean() x = np.array(df_group.index).reshape(-1, 1) y = np.array(df_group.values) # 用管道的方式調用算法,以便把線性回歸擴展為多項式回歸 poly_reg = Pipeline([ ('ploy', PolynomialFeatures(degree=1)), ('lin_reg', LinearRegression()) ]) # 擬合 poly_reg.fit(x, y) # 斜率 coef = poly_reg.steps[1][1].coef_ # 截距 intercept = poly_reg.steps[1][1].intercept_ # 評分 score = poly_reg.score(x, y)
接下來,開始用「面向對象」的方法進行畫圖。
# 使用「面向對象」的方法畫圖,定義圖片的大小 fig, ax = plt.subplots(figsize=(8, 6)) # 設置標題 ax.set_title('\n客戶每年長一歲,人均消費金額增加' + '%.2f' % coef[0][1] + '元\n', loc='left', size=26, color=c['深灰色']) # 畫氣泡圖 ax.scatter(x, y, color=c['藍色'], marker='.', s=100, zorder=1) # # 繪制預測線 y2 = poly_reg.predict(x) ax.plot(x, y2, '-', c=c['橙色'], zorder=2) # 隱藏邊框 ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.spines['left'].set_visible(False) # 隱藏刻度線 ax.tick_params(axis='x', which='major', length=0) ax.tick_params(axis='y', which='major', length=0) ax.set_ylim(15, 65) ax.set_ylim(1000, 5000) # 設置坐標標簽字體大小和顏色 ax.tick_params(labelsize=16, colors=c['深灰色']) ax.text(ax.get_xlim()[0]-6, ax.get_ylim()[1], '人\n均\n消\n費\n金\n額', va='top', fontsize=16, color=c['深灰色']) # 設置坐標軸的標題 ax.text(ax.get_xlim()[0]+1, ax.get_ylim()[0]-300, '年齡', ha='left', va='top', fontsize=16, color=c['深灰色']) # 預測 55 歲的人均消費金額 predict = poly_reg.predict([[55]]) # 標注公式 formula = r'$\mathcal{Y} = ' + '%.2f' % coef[0][1] + '\mathcal{X}' + '%+.2f$' % intercept[0] + '\n' + r'$\mathcal{R}^2 = ' + '%.5f$' % score ax.annotate(formula, xy=(55, predict), xytext=(55, predict+500), ha='center', fontsize=12, color=c['深灰色'], arrowprops=dict(arrowstyle='->', color=c['橙色'])) plt.show()
你可以前往 https://github.com/linjiwx/mp 下載數據文件和完整代碼。
當業務指標很多的時候,應該挑選什么指標來進行分析,這件事很考驗分析者的功力,往往需要對業務有比較深刻的理解。
為什么很多人精通各種工具技術,手上也有很多各種各樣的數據,卻沒有做出讓領導滿意的圖表?
好的圖表,就像是給近視的人戴了一副眼鏡,讓讀者以更清楚的方式去理解數據。
好的圖表,就像是神奇的催化劑,加快了從數據到決策的過程,讓決策者更加快速地掌握有助于做出決策的信息。
好的圖表,能把復雜的問題簡單化,幫我們更精準地理解業務的現狀,甚至預測未來。
我們應該記住,無論多么漂亮的圖表,如果不能從中獲取有價值的信息,那么也是一張沒有「靈魂」的圖表。
很多時候,我們面對的問題,并不是沒有數據,而是數據太多,卻不知道怎么用。
熟悉數據分析的思維,能幫我們找到更重要的數據,排除過多雜亂數據的干擾。
如果把數據分析比作醫生看病的過程,那么可以分為以下 4 個階段:
(1)描述:檢查身體,描述指標值是否正常。
(2)診斷:詢問病情,找到疾病的產生原因。
(3)預測:分析病情,預測病情的發展趨勢。
(4)指導:開出藥方,提出有效的治療建議。
我們要盡可能地理解業務并提供價值,從數據的加工者,轉變成故事的講述者,甚至是問題的解決者。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25