农产品得数据分析

本文介绍了如何使用Python进行价格数据的分析,包括数据加载与处理,描述性统计,直方图可视化,利用T分布和χ²分布进行均值和方差的区间估计,以及方差分析(ANOVA)来检验不同类型苹果最低价格的显著差异。
@[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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值