數(shù)據(jù)分析第三次課隨堂作業(yè) - 0725

感謝Dr.fish的耐心講解和細(xì)致回答。

本次課的隨堂作業(yè)如下:

基于HRSalaries.csv數(shù)據(jù)回答問(wèn)題:

  1. 計(jì)算HRSalaries數(shù)據(jù)中評(píng)分Review_Score的均值和中位數(shù),并判斷其偏度是左偏還是右偏;
  2. Review_Score的IQR值是多少?并繪制該數(shù)據(jù)的box圖;
  3. Review_Score的標(biāo)準(zhǔn)差是多少?
  4. 在Review_Score中,求落在兩個(gè)標(biāo)準(zhǔn)差內(nèi)的數(shù)據(jù)占總數(shù)的百分比;
  5. 對(duì)于DoIT部門,計(jì)算其收入和評(píng)分的相關(guān)系數(shù)。

先導(dǎo)入要用的計(jì)算包們:

# 導(dǎo)入所有要用的分析庫(kù)

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

from __future__ import division # 導(dǎo)入精確除法

%matplotlib inline
%config InlineBackend.figure_format = 'retina' 

然后導(dǎo)入數(shù)據(jù)并看一眼!~

# 導(dǎo)入數(shù)據(jù)并查看

df = pd.read_csv('HRSalaries.csv')
df.head()
查看數(shù)據(jù)
# 查看整體數(shù)據(jù)(主要看是否存在缺失值)

df.info()
查看數(shù)據(jù)整體信息

** 小結(jié):**

  1. 數(shù)據(jù)表共5個(gè)字段,30284條數(shù)據(jù)
  2. 未存在缺失值,可直接使用

** Q1.計(jì)算HRSalaries數(shù)據(jù)中評(píng)分Review_Score的均值和中位數(shù),并判斷其偏度是左偏還是右偏**

# 計(jì)算review_score均值
score = df.Review_Score
score.mean()

6.4558908994849205

# 計(jì)算review_score中位數(shù)
score.median()

6.5

** 答:**Review_Score字段均值6.46,中位數(shù)6.5,因?yàn)?中位數(shù)>均值 ,所以數(shù)據(jù)呈左偏狀態(tài),整體樣本score偏小。

** Q2.Review_Score的IQR值是多少?并繪制該數(shù)據(jù)的box圖**

# 1.計(jì)算review_score的IQR值

sort = score.sort_values() #排序
Q1 = score.quantile(0.25)
Q3 = score.quantile(0.75)
score.quantile(0.5)
IOR = Q3 - Q1

Q1:5.8
Q3:7.2
IOR:1.4000000000000004

** 備注: **
pandas可以直接輸出中位數(shù),使用.median()函數(shù)實(shí)現(xiàn)

score.median() #驗(yàn)證中位數(shù) 

6.5
# 2.繪制IQR的box圖

score.plot(kind = 'box', vert = False, figsize = (15,5))
plt.show()
IQR box圖

繪制正態(tài)分布圖驗(yàn)證一下

#繪制正態(tài)分布柱圖

mu = score.mean() #正態(tài)分布均值
sigma = score.std() #標(biāo)準(zhǔn)差
x = score

num_bins = 200 #柱子的數(shù)量
plt.hist(x, num_bins, normed = 1,facecolor = '#00bfff')  # normed 概率密度,和為1

plt.xlabel('Review_Score')
plt.ylabel('Probability')
plt.title('SCORE NORMAL DISTRIBUTION' )

plt.show()
score normal distribution

** 答:**通過(guò)觀察圖形,發(fā)現(xiàn)score數(shù)據(jù)呈右偏態(tài)分布,大部分?jǐn)?shù)據(jù)分布在 5.8 - 7.2 之間。

** Q3.Review_Score的標(biāo)準(zhǔn)差是多少?**

# 計(jì)算標(biāo)準(zhǔn)差
std = score.std()

1.030404588021642

# 驗(yàn)證一下
mean = score.mean()
np.sqrt(np.sum(((score - mean) ** 2) / (len(score) - 1)))

1.0304045880216568

** 答:**score標(biāo)準(zhǔn)差約為1.03,利用兩種計(jì)算方法得到的結(jié)果基本一致(.std()僅給出小數(shù)點(diǎn)后15位)。

** Q4.在Review_Score中,求落在兩個(gè)標(biāo)準(zhǔn)差內(nèi)的數(shù)據(jù)占總數(shù)的百分比 **

# 落在兩個(gè)標(biāo)準(zhǔn)差內(nèi)的數(shù)據(jù)占總體的百分比

section = score[(score > score.mean() - score.std() * 2) & (score < (score.mean() + score.std() * 2))] # 過(guò)濾兩個(gè)標(biāo)準(zhǔn)差之間的數(shù)據(jù)
section.count() / len(score) # 計(jì)算占比

0.96179500726456213

# 另一種方法

len(score[score.between(mean - std * 2, mean + std * 2)]) / len(score)

0.9617950072645621

** 答:**約有96.2%的數(shù)據(jù)落在2個(gè)標(biāo)準(zhǔn)差之間。

** Q5.對(duì)于DoIT部門,計(jì)算其收入和評(píng)分的相關(guān)系數(shù)**

# 計(jì)算DoIT部門收入和評(píng)分的相關(guān)系數(shù)
department = df[df.Department == 'DoIT']
print(np.corrcoef(department.Annual_Salary, department.Review_Score)[1,0])

0.00602457101049

出個(gè)散點(diǎn)圖看一下

# DoIT部門收入和評(píng)分散點(diǎn)圖
plt.scatter(department.Review_Score, department.Annual_Salary, c = ('#00bfff'), alpha = 0.6)

plt.show()
DoIT部門收入和評(píng)分散點(diǎn)圖

** 答:**DoIT部門收入和評(píng)分的相關(guān)系數(shù)為0.006,不相關(guān)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容