@[TOC]
价格分析
数据加载与处理
# -*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
import numpy as np
import statsmodels.api as sm
from statsmodels.formula.api import ols
plt.rcParams['font.sans-serif'] = ['SimHei']
# 加载数据集
data = pd.read_excel('data.xlsx')
# 处理'价格'列,将其分解为最低价格和最高价格
data[['最低价格', '最高价格']] = data['价格'].str.extract(r'(\d+\.\d+)~(\d+\.\d+)元/斤').astype(float)
描述性统计分析
# 描述性统计分析
descriptive_stats = data[['最低价格', '最高价格']].describe()
可视化分析
# 使用直方图可视化数值列的分布
plt.figure(figsize=(12, 5))
# 最低价格的直方图
plt.subplot(1, 2, 1)
sns.histplot(data['最低价格'], kde=True)
plt.title('最低价格分布')
# 最高价格的直方图
plt.subplot(1, 2, 2)
sns.histplot(data['最高价格'], kde=True)
plt.title('最高价格分布')
plt.tight_layout()
plt.show()
区间估计
# 使用t分布和χ²分布进行均值和方差的区间估计
# 选择'最低价格'列
prices = data['最低价格'].dropna()
# 样本大小
n = len(prices)
# 样本均值
mean = np.mean(prices)
# 样本标准差
std = np.std(prices, ddof=1)
# T分布用于均值的区间估计
confidence_level = 0.95
alpha = 1 - confidence_level
t_critical = stats.t.ppf(1 - alpha/2, df=n-1)
margin_of_error_mean = t_critical * (std/np.sqrt(n))
# χ²分布用于方差的区间估计
chi2_lower = stats.chi2.ppf(alpha/2, df=n-1)
chi2_upper = stats.chi2.ppf(1 - alpha/2, df=n-1)
lower_variance = ((n - 1) * std**2) / chi2_upper
upper_variance = ((n - 1) * std**2) / chi2_lower
mean_interval = (mean - margin_of_error_mean, mean + margin_of_error_mean)
variance_interval = (lower_variance, upper_variance)
方差分析(ANOVA)
# 方差分析(ANOVA)
# 研究不同类型苹果的价格是否存在显著差异
model = ols('最低价格 ~ 类型', data=data).fit()
anova_table = sm.stats.anova_lm(model, typ=2)
print("均值的95%置信区间:", mean_interval)
print("方差的95%置信区间:", variance_interval)
print("ANOVA表格:\n", anova_table)
本文介绍了如何使用Python进行价格数据的分析,包括数据加载与处理,描述性统计,直方图可视化,利用T分布和χ²分布进行均值和方差的区间估计,以及方差分析(ANOVA)来检验不同类型苹果最低价格的显著差异。
511






