Python實現描述性統計

該篇筆記由木東居士提供學習小組、資料python

描述性統計的概念很好理解,在平常工做中咱們也常常會遇到須要使用描述性統計來表述的問題。如下,咱們將使用Python實現一系列的描述性統計內容。學習

有關python環境的安裝就次略過。spa

本次數據集由數據科學家聯盟提供,https://pan.baidu.com/s/1lXAnyvSoti-U44MU2fubgw。.net

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

data = pd.read_excel(r'C:\Users\user\Desktop\描述性.xlsx',encoding='UTF-8')
data = data.iloc[:20]
集中趨勢

#
計算平均值 # 法一 print("算術平均數:%.2f" %data.mean())
算術平均數:4.40

# 計算平均值
# 法二:幾何平均數

data['data'] = data['data'].astype(int)
s = 1
for i in data['data']:
    s = i * s
print("幾何平均數:%.2f" %np.sqrt(s))


幾何平均數:351941.81
# 衆數
# 法一:
print("衆數爲:%d," %data.mode().iloc[0])

衆數爲:4,

#衆數
# 法二
from scipy.stats import mode
mode_num = mode(data)
print("衆數爲:%d, 衆數的個數爲:%d,"%(mode_num[0][0], mode_num[1][0]))

衆數爲:4, 衆數的個數爲:4,
# 中位數
# 法一:
print("中位數:%d" %data.median())

中位數:4

# 中位數
# 法二
print("中位數:%d" %np.percentile(data,50))

中位數:4


# 中位數
# 法三
print("中位數:%d" %data.quantile(.50))

中位數:4
離散趨勢
#
方差 # 法一: print("方差:%d" %data.var()) 方差:6 # 方差 # 法二: s = 0 for i in data['data']: s = (i - data.mean())**2 + s print("方差:%d" %(s/(len(data)-1))) 方差:6
# 標準差
# 法一
print("標準差:%d" %data.std())

標準差:2


# 標準差
# 法二:
print("標準差:%d" %np.sqrt(s/(len(data)-1)))

標準差:2
# 極差
data.max() - data.min()

data    9
dtype: int32
# 平均絕對離差
M = 0
for i in data['data']:
    M += abs(i - data.mean())
    
print(M/len(data))


data    2.04
dtype: float64
# 上四分位數
# 法一
np.percentile(data,75)

6.0

# 上四分位數
# 法二
data.quantile(.75)

data    6.0
Name: 0.75, dtype: float64
# 下四分位數
# 法一
data.quantile(.25)


data    2.0
Name: 0.25, dtype: float64

# 下四分位數
# 法二:
np.percentile(data,25)


2.0
# 四分位差
np.percentile(data,75) - np.percentile(data,25)

4.0
# 離散係數
data.std()/data.mean()

data    0.582476
dtype: float64
分佈的形狀
#
偏度 from scipy import stats stats.skew(data['data']) 0.4264951788847028
# 峯度
stats.kurtosis(data['data'])

-0.5821005917159772
# 歸納性信息
data.describe()


    data
count    20.000000
mean    4.400000
std    2.562893
min    1.000000
25%    2.000000
50%    4.000000
75%    6.000000
max    10.000000

參考連接:https://blog.csdn.net/qq_43315928/article/details/102151709excel

相關文章
相關標籤/搜索