統計學 | 2.數據的描述性統計

在這裏插入圖片描述

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

%matplotlib
%matplotlib inline
%config InlineBackend.figure_format = ‘retina’


    Using matplotlib backend: MacOSX


## 數據讀取

數據來源於mysql官網測試數據,這裏抽取了salary表10w條數據:https://dev.mysql.com/doc/employee/en/


```python
salary_df = pd.read_csv('./employees_salaries_10w.csv')
salary = salary_df['salary']
salary.values.sort()

# 數據分佈情況
salary.plot(figsize=(10,5))
plt.show()

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Pkwsgxjd-1590323833632)(output_3_0.png)]

# 數據統計
salary.describe()
count    100000.00000
mean      63973.80848
std       17063.67281
min       38812.00000
25%       50521.00000
50%       61263.00000
75%       74470.25000
max      145732.00000
Name: salary, dtype: float64

集中趨勢

print(u'算術平均數: ', salary.mean())
print(u'中位數: ', salary.median())
print(u'衆數: ', salary.mode())
print(u'衆數: ', salary.mode())
print(u'最小值', salary.min()) 
print(u'最大值', salary.max())
算術平均數:  63973.80848
中位數:  61263.0
衆數:  0    40000
dtype: int64
衆數:  0    40000
dtype: int64
最小值 38812
最大值 145732
# 分位數
print (u'第一分位數: ', salary.quantile(q=0.25))
print (u'第二分位數: ', salary.quantile(q=0.50))
print (u'第三分位數: ', salary.quantile(q=0.75))
第一分位數:  50521.0
第二分位數:  61263.0
第三分位數:  74470.25

離中趨勢

print(u'方差: ', salary.var())
print(u'標準差: ', salary.std())
print(u'四分位差: ', salary.quantile(q=0.75)-salary.quantile(q=0.25))
print(u'離散係數=標準差/均值: ', salary.std()/salary.mean())
方差:  291168929.77595794
標準差:  17063.672810270302
四分位差:  23949.25
離散係數=標準差/均值:  0.26672904452147606
# hist
plt.hist(salary,100)
plt.show()

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6z1HfTNu-1590323833644)(output_10_0.png)]

print (u'偏態係數: ', salary.skew())
print (u'峯態係數: ', salary.kurt())
偏態係數:  0.7835741996432202
峯態係數:  0.31645000859698413
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章