10?個Python統計分析常用的經典腳本分享
在數據科學和統計分析中,Python 是一門非常流行的語言。它憑借其豐富的庫和簡潔的語法,使得數據處理和分析變得相對容易。在這篇文章中,我們將介紹 10 個經典的 Python 腳本,用于執(zhí)行日常的統計分析任務。這些示例不僅適合新手學習,還結合了生活中的實際例子,以便更容易理解。
1. 計算平均值
平均值是衡量一組數值中心趨勢的重要指標,通常通過將所有數值相加后除以數量得到。
假設你剛剛參加了一場考試,分數分別為 85、90、78、92 和 88,想知道你的平均分數。
# 定義一個列表存儲分數
scores = [85, 90, 78, 92, 88]
# 計算平均值
average_score = sum(scores) / len(scores)
# 打印結果
print("你的平均分數是:", average_score)
2. 計算中位數
中位數是將一組數值按大小排列后,位于中間位置的數值。當數據量為偶數時,中位數是中間兩個數的平均值。
如果你想了解你和朋友們(分數為 70、80、90、85、95)的成績中間的表現,你可以計算中位數。
# 導入 statistics 模塊
import statistics
# 定義一個列表存儲分數
scores = [70, 80, 90, 85, 95]
# 計算中位數
median_score = statistics.median(scores)
# 打印結果
print("你的中位數分數是:", median_score)
3. 計算眾數
眾數是數據集中出現頻率最高的數值。在某些情況下,可能會有多個眾數。
考慮你調查了同學最喜歡的水果,調查結果為 ["蘋果", "香蕉", "蘋果", "橙子", "香蕉"],你想知道哪個水果最受歡迎。
# 導入 statistics 模塊
import statistics
# 定義一個列表存儲水果偏好
fruits = ["蘋果", "香蕉", "蘋果", "橙子", "香蕉"]
# 計算眾數
mode_fruit = statistics.mode(fruits)
# 打印結果
print("最受歡迎的水果是:", mode_fruit)
4. 計算標準差
標準差是衡量一組數值離散程度的指標,反映數據的分散程度,值越小表示數據越集中。
你想知道你的考試成績(如 75、80、85、90、100)的穩(wěn)定性,可以通過標準差來衡量。
# 導入 statistics 模塊
import statistics
# 定義一個列表存儲分數
scores = [75, 80, 85, 90, 100]
# 計算標準差
std_deviation = statistics.stdev(scores)
# 打印結果
print("你的考試成績的標準差是:", std_deviation)
5. 頻率分布表
頻率分布表用于顯示各個數值或類別出現的次數,以便直觀了解數據分布情況。
你收集了班級同學的考試分數,想要查看每個分數區(qū)間內有多少人。
# 導入 pandas 庫
import pandas as pd
# 定義一個列表存儲分數
scores = [70, 75, 80, 85, 90, 75, 95, 85, 80, 70]
# 創(chuàng)建 DataFrame
df = pd.DataFrame(scores, columns=['Score'])
# 生成頻率分布表
frequency_table = df.value_counts(bins=5) # 將分數分為 5 個區(qū)間
# 打印結果
print("頻率分布表:\n", frequency_table)
6. 畫出直方圖
直方圖是一種可視化工具,用于展示數值型數據的分布情況,通過將數據分為若干區(qū)間并計數每個區(qū)間內的數據點。
假設你記錄了一周內每天的步數,想繪制直方圖以觀察步數的分布情況。
# 導入 matplotlib 庫
import matplotlib.pyplot as plt
# 定義一個列表存儲步數
steps = [3000, 5000, 7000, 8000, 12000, 4000, 6000]
# 繪制直方圖
plt.hist(steps, bins=5, color='skyblue', edgecolor='black')
plt.title('每日步數分布')
plt.xlabel('步數')
plt.ylabel('天數')
plt.show()
7. 相關性分析
相關性分析用于確定兩個變量之間的關系強度和方向,常用的方法是皮爾遜相關系數。
如果你想分析學習時間與考試成績之間的關系,相關性分析可以幫助你找到答案。
# 導入 numpy 和 scipy.stats 庫
import numpy as np
from scipy import stats
# 定義學習時間和成績
study_time = [1, 2, 3, 4, 5] # 學習小時數
scores = [50, 60, 65, 80, 90] # 對應的分數
# 計算相關系數
correlation_coefficient, p_value = stats.pearsonr(study_time, scores)
# 打印結果
print("學習時間與成績之間的相關系數是:", correlation_coefficient)
8. 小組比較:t 檢驗
t 檢驗用于比較兩組樣本均值是否有顯著差異,常用于實驗研究。
假設你想比較兩種教學方法對學生成績的影響,可使用 t 檢驗。
# 導入 scipy.stats 庫
from scipy import stats
# 定義兩組分數
method_a_scores = [80, 85, 90, 95, 100]
method_b_scores = [75, 80, 85, 90, 95]
# 進行 t 檢驗
t_statistic, p_value = stats.ttest_ind(method_a_scores, method_b_scores)
# 打印結果
print("t 檢驗結果: t 統計量 =", t_statistic, ", p 值 =", p_value)
9. 線性回歸分析
線性回歸是一種用于預測和建模的方法,通過擬合一條最佳擬合線來描述兩個變量之間的關系。
如果你想根據廣告支出預測銷售額,可以使用線性回歸分析。
# 導入 sklearn 庫
from sklearn.linear_model import LinearRegression
import numpy as np
# 定義廣告支出和銷售額
advertising_spent = np.array([1000, 2000, 3000, 4000, 5000]).reshape(-1, 1)
sales = np.array([15000, 25000, 35000, 45000, 55000])
# 創(chuàng)建線性回歸模型并訓練
model = LinearRegression()
model.fit(advertising_spent, sales)
# 打印回歸系數
print("線性回歸系數 (廣告支出與銷售額):", model.coef_[0])
10. 使用 Pandas 進行數據清洗
數據清洗是數據分析中非常重要的一步,通過處理缺失值、重復數據等,提高數據質量。
假設你從網上下載了一份包含用戶信息的文件,其中一些行缺失了年齡信息。
# 導入 pandas 庫
import pandas as pd
# 創(chuàng)建 DataFrame 包含用戶信息
data = {
'姓名': ['Alice', 'Bob', 'Charlie', 'David'],
'年齡': [25, None, 30, 35],
'城市': ['北京', '上海', '廣州', '深圳']
}
df = pd.DataFrame(data)
# 去除缺失年齡的行
cleaned_df = df.dropna(subset=['年齡'])
# 打印清洗后的數據
print("清洗后的用戶信息:\n", cleaned_df)
總結
本文介紹了十個常用的 Python 統計分析腳本,從基本的統計測量到數據可視化和處理。通過這些簡單的代碼示例,新手小白可以快速上手并應用于實際問題中。希望這些知識能夠幫助你在數據分析的旅程中更進一步!
到此這篇關于10 個Python統計分析常用的經典腳本分享的文章就介紹到這了,更多相關Python統計分析腳本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何解決vscode下powershell終端進入python虛擬環(huán)境venv問題
這篇文章主要介紹了如何解決vscode下powershell終端進入python虛擬環(huán)境venv問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
手把手教你部署AI小說生成器(Python環(huán)境搭建)
本文詳細介紹了如何使用Python+AI從零開始搭建屬于自己的AI小說生成器,文章分為環(huán)境準備、第一次安裝、關機重啟、配置大腦等步驟進行講解,幫助用戶輕松實現AI輔助創(chuàng)作2026-04-04
最新版 Windows10上安裝Python 3.8.5的步驟詳解
這篇文章主要介紹了最新版 Windows10上安裝Python 3.8.5的步驟詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
Python結合DeepSeek實現自動生成測試用例的示例代碼
在當今快節(jié)奏的軟件開發(fā)領域,自動化測試已然成為保障軟件質量的中流砥柱,下面我們就來看看如何借助?DeepSeek?與?Python?的?pytest?框架實現測試用例的智能生成吧2025-05-05

