您當前的位置:首頁 > 文化

資料分析實戰--對比分析

作者:由 土豆鹿鹿 發表于 文化時間:2019-04-17

本文主要講的是對比分析的一些視覺化作圖,用來練練matplotlib不錯。主要內容有:兩個相互聯絡的指標的比較(絕對比較)、相對比較兩方面。

0 模組匯入

import numpy as np

import pandas as pd

import matplotlib。pyplot as plt

plt。rcParams[‘font。sans-serif’]=[‘SimHei’] #用來正常顯示中文標籤

plt。rcParams[‘axes。unicode_minus’]=False #用來正常顯示負號

1。對比分析 → 兩個互相聯絡的指標進行比較(絕對比較)

建立資料 → 30天內A/B產品的日銷售額

data = pd。DataFrame(np。random。rand(30,2)*1000,

columns=[‘A_sale’,‘B_sale’],

index = pd。period_range(‘20170601’,‘20170630’)

fig,ax = plt。subplots(4,1,figsize=(10,15))

plt。subplots_adjust(hspace=0。5)

(1)折線圖比較 AB產品銷量對比圖-折線圖

data。plot(kind = ‘line’,

style=‘——’,

alpha = 0。8,

title = ‘AB產品銷量對比圖-折線圖’,

ax = ax[0])

2、相對數比較 → 相除(相對)

(2)多系列柱狀圖比較 AB產品銷量對比-柱狀圖

data。plot(kind = ‘bar’,

alpha = 0。8,

width = 0。8,

title = ‘AB產品銷量對比-柱狀圖’,

ax=ax[1])

(3)絕對數比較,相減 AB產品銷量對比-堆疊圖

data1 = data。copy()

data1[‘B_sale’] = -data[‘B_sale’]

data1[‘A_sale’]。plot(kind = ‘bar’,

color = ‘g’,

alpha = 0。4,

title = ‘AB產品銷量對比-堆疊圖’,

ax=ax[2])

data1[‘B_sale’]。plot(kind = ‘bar’,

color = ‘b’,

alpha = 0。4,

title = ‘AB產品銷量對比-堆疊圖’,

ax=ax[2])

(4)面積圖

data。plot。area(alpha = 0。5,

title = ‘AB產品銷量對比-面積’,

ax = ax[3])

資料分析實戰--對比分析

2、相對數比較 → 相除(相對比較)

建立資料 → 30天內A/B產品的日銷售額

A/B產品銷售額量級不同

data = pd。DataFrame({‘A_sale’:np。random。rand(30)*1000,

‘B_sale’:np。random。rand(30)*200},

index = pd。period_range(‘20170601’,‘20170630’))

(1) 計算出每天的營收佔比

data[‘A_per’] = data[‘A_sale’]/data[‘A_sale’]。sum()

data[‘B_per’] = data[‘B_sale’]/data[‘B_sale’]。sum()

(2)轉換為百分數

data[‘A_per%’] = data[‘A_per’]。apply(lambda x:‘%。2f%%’%(x*100))

data[‘B_per%’] = data[‘B_per’]。apply(lambda x:‘%。2f%%’%(x*100))

(3)每日A、B產品營收——折線圖

fig,ax = plt。subplots(2,1,figsize=(10,10))

plt。subplots_adjust(hspace = 0。5)

x = range(len(data))

data[‘A_sale’]。plot(kind=‘line’,

style=‘——go’,

ax = ax[0],

color = ‘b’,

title = ‘A、B產品營收——折線圖’)

data[‘B_sale’]。plot(kind=‘line’,

style=‘——go’,

color = ‘g’,

ax = ax[0],

title = ‘A、B產品營收——折線圖’)

ax[0]。legend(labels = [‘A_sale’,‘B_sale’],loc=‘best’)

(4)每日A、B產品營收佔比——折線圖

data[‘A_per’]。plot(kind=‘line’,

style=‘——go’,

ax = ax[1],

color = ‘b’,

title = ‘A、B產品營收佔比——折線圖’)

data[‘B_per’]。plot(kind=‘line’,

style=‘——go’,

color = ‘g’,

ax = ax[1],

title = ‘A、B產品營收佔比——折線圖’)

ax[1]。legend(labels = [‘A_per’,‘B_per’],loc=‘best’)

資料分析實戰--對比分析

3 相對數比較 → 相除

建立資料 → 某人一年內的消費、工資薪水情況

消費按照2000-3000/月隨機,工資按照5000-5500/月隨機

data = pd。DataFrame({‘A’:np。random。rand(30)*5000,

‘B’:np。random。rand(30)*2000,

‘C’:np。random。rand(30)*10000,

‘D’:np。random。rand(30)*800},

index = pd。period_range(‘20170601’,‘20170630’))

(1)透過柱狀圖做橫向比較 → 4個產品的銷售額總量

fig,ax = plt。subplots(2,1,figsize=(10,10))

plt。subplots_adjust(hspace=0。5)

data。sum()。plot(kind=‘bar’,

width = 0。8,

alpha = 0。4,

rot = 0,

title = ‘4個產品的銷售額總量’,

ax = ax[0])

(2)多系列柱狀圖,橫向比較前十天4個產品的銷售額

data。iloc[:10,:]。plot(kind = ‘bar’,

title = ‘前十天4個產品的銷售額’,

ax = ax[1])

資料分析實戰--對比分析

資料分析實戰--對比分析

關注二維碼相互交流哦!

標簽: ax  data  sale  PLOT  title