一、基本數據統計分析
Python提供了多種數據處理和分析的工具,如numpy、pandas等。numpy提供了向量和矩陣的相關處理函數,pandas則封裝了更加高級的數據處理和統計分析功能。例如,我們可以使用numpy進行基本的數組操作,如計算數組中的均值、中位數、方差等。
import numpy as np # 創建一個長度為10的一維數組 arr = np.random.randn(10) print(arr) # 計算數組的均值、中位數和標準差 print(np.mean(arr)) print(np.median(arr)) print(np.std(arr))
而pandas則更加適合處理結構化的表格數據,可以輕鬆地進行數據清洗、排序、切片等操作。例如,我們可以讀取一個csv文件並進行一些基本的數據統計分析操作。
import pandas as pd
# 讀取csv文件
df = pd.read_csv('data.csv')
# 輸出前5行數據
print(df.head())
# 統計每列的均值、標準差、最小值、最大值等
print(df.describe())
二、數據可視化分析
數據可視化分析是數據分析中非常重要的一部分,因為它可以將數據以更加直觀、形象的方式呈現出來。Python提供了很多強大的數據可視化工具,如matplotlib、seaborn等。例如,我們可以使用matplotlib繪製一些簡單的圖表。
import matplotlib.pyplot as plt
import numpy as np
# 創建一個長度為50的一維數組
x = np.linspace(-np.pi, np.pi, 50)
y = np.sin(x)
# 繪製正弦函數的圖像
plt.plot(x, y)
# 設置標題和軸標籤
plt.title('Sin(x)')
plt.xlabel('x')
plt.ylabel('y')
# 顯示圖像
plt.show()
而seaborn則提供了更加高級的數據可視化功能,如pairplot、heatmap等。例如,我們可以使用seaborn繪製一個簡單的pairplot。
import seaborn as sns
import pandas as pd
# 讀取iris數據集
iris = sns.load_dataset('iris')
# 繪製pairplot
sns.pairplot(iris, hue='species')
# 顯示圖像
plt.show()
三、統計分析模型
Python不僅提供了基本的數據統計分析工具和數據可視化工具,還提供了很多強大的統計分析模型。例如,我們可以使用scipy進行一些常用的統計分析模型,如線性回歸、t檢驗等。
from scipy import stats
# 生成一些隨機數據
x = np.arange(10)
y = np.array([3, 4, 7, 9, 12, 15, 18, 21, 22, 24])
# 進行線性回歸分析
slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
print('斜率:', slope)
print('截距:', intercept)
print('相關係數:', r_value)
print('p值:', p_value)
而statsmodels則提供了更加全面的統計分析模型,如OLS、ARIMA等。例如,我們可以使用statsmodels進行一些基本的時間序列分析。
import statsmodels.api as sm
import pandas as pd
# 讀取AirPassengers數據集
airpassengers = sm.datasets.get_rdataset('AirPassengers').data
# 將「Month」列設置為時間索引
airpassengers['Month'] = pd.to_datetime(airpassengers['Month'], format='%Y-%m')
airpassengers.set_index('Month', inplace=True)
# 繪製時間序列圖
airpassengers.plot()
# 顯示圖像
plt.show()
# 進行時間序列分析
res = sm.tsa.ARIMA(airpassengers, (2,1,1)).fit()
print(res.summary())
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/304404.html
微信掃一掃
支付寶掃一掃