一、基本数据统计分析
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())