首页 > 其他分享 >第九章

第九章

时间:2024-12-10 14:32:12浏览次数:4  
标签:第九章 print df range factor np import

学号后四位3020
9.2

点击查看代码
import numpy as np
from scipy.stats import shapiro

data = [15.0, 15.8, 15.2, 15.1, 15.9, 14.7, 14.8, 15.5, 15.6, 15.3,
15.1, 15.3, 15.0, 15.6, 15.7, 14.8, 14.5, 14.2, 14.9, 14.9,
15.2, 15.0, 15.3, 15.6, 15.1, 14.9, 14.2, 14.6, 15.8, 15.2,
15.9, 15.2, 15.0, 14.9, 14.8, 14.5, 15.1, 15.5, 15.5, 15.1,
15.1, 15.0, 15.3, 14.7, 14.5, 15.5, 15.0, 14.7, 14.6, 14.2]

stat, p = shapiro(data)

print(f"Shapiro-Wilk Statistic: {stat}")
print(f"P-value: {p}")

alpha = 0.05
if p > alpha:
    print("滚珠直径数据服从正态分布N(15.0780, 0.4325^2)。")
else:
    print("滚珠直径数据不服从正态分布N(15.0780, 0.4325^2)。")

print("学号后两位为:20")

9.3

点击查看代码
import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt
 
# 创建数据
X = np.array([
    4.13, 4.07, 4.04, 4.07, 4.05, 4.04, 4.02, 4.06, 4.10, 4.04,
    3.86, 3.85, 4.08, 4.11, 4.08, 4.01, 4.02, 4.04, 3.97, 3.95,
    4.00, 4.02, 4.01, 4.01, 4.04, 3.99, 4.03, 3.97, 3.98, 3.98,
    3.88, 3.88, 3.91, 3.95, 3.92, 3.97, 3.92, 3.90, 3.97, 3.90,
    4.02, 3.95, 4.02, 3.89, 3.91, 4.01, 3.89, 3.89, 3.99, 4.00,
    4.02, 3.86, 3.96, 3.97, 4.00, 3.82, 3.98, 3.99, 4.02, 3.93,
    4.00, 4.02, 4.03, 4.04, 4.10, 3.81, 3.91, 3.96, 4.05, 4.06
])
 
# 创建因子A
A = np.repeat(np.arange(1, 8), 10)
 
# 创建DataFrame
contents = pd.DataFrame({'X': X, 'A': A})
 
# 进行ANOVA分析
aov_cont = stats.f_oneway(*[contents[contents['A'] == i]['X'] for i in range(1, 8)])
print(f"F-statistic: {aov_cont.statistic}, p-value: {aov_cont.pvalue}")
 
# 绘制箱线图
plt.boxplot([contents[contents['A'] == i]['X'] for i in range(1, 8)], labels=[f'Group {i}' for i in range(1, 8)])
plt.title('Boxplot of X by Group A')
plt.xlabel('Group A')
plt.ylabel('X')
plt.show()
print("20")

9.4

点击查看代码
import numpy as np
import statsmodels.api as sm
y = np.loadtxt('ti9_4.txt').flatten() #把表中的逗号替换为空格
x1=np.tile(np.arange(1,4),(12,1)).T.flatten()
x2=np.tile(np.hstack([np.ones(3),2*np.ones(3),3*np.ones(3),4*np.ones(3)]),(3,1)).flatten()
d = {'x1':x1,'x2':x2,'y':y}
md=sm.formula.ols('y~C(x1) * C(x2)',d).fit()
ano=sm.stats.anova_lm(md)
print(ano);
print('总偏差平方和:',sum(ano.sum_sq))
print("20")

9.5

点击查看代码
import pandas as pd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
import openpyxl

column_names = ['城市1', '城市2', '城市3', '城市4']
factor_combinations = [
f"位置{i+1}广告形式{j+1}高档" for i in range(3) for j in range(2)
] + [
f"位置{i+1}广告形式{j+1}低档" for i in range(3) for j in range(2)
]

df_raw = pd.read_excel('9.5.xlsx', header=None, names=column_names, index_col=0)
df_raw.index = factor_combinations

location_factor = [int(x.split('位置')[1].split('广告')[0]) for x in df_raw.index]
ad_factor = [int(x.split('广告形式')[1].split('高档')[0]) if '高档' in x else int(x.split('广告形式')[1].split('低档')[0]) for x in df_raw.index]
decoration_factor = ['高档' if '高档' in x else '低档' for x in df_raw.index]

data = {
'销售量': df_raw.values.flatten(),
'位置': location_factor * 4,
'广告形式': ad_factor * 4,
'装横档次': decoration_factor * 4
}
df = pd.DataFrame(data)

city_factor = [f'城市{i+1}' for i in range(4) for _ in range(3 * 2)]
df['城市'] = city_factor

model = ols('销售量 ~ C(位置) + C(广告形式) + C(装横档次) + C(城市)', data=df).fit()
anova_table = anova_lm(model, typ=2)

print(anova_table)

significant_factors = anova_table[anova_table['PR(>F)'] < 0.05]['source']
print("在显著水平0.05下,以下因素对销售量有显著差异:")
print(significant_factors)
print("20")

标签:第九章,print,df,range,factor,np,import
From: https://www.cnblogs.com/2630490526asdz/p/18597292

相关文章

  • python第九章课后习题
    9.2某车间生产滚珠,随机的抽出了50粒,测得他们的直径为(单位mm)15.015.815.215.115.914.714.815.515.615.315.115.315.015.615.714.814.514.214.914.915.215.015.315.615.114.914.214.615.815.215.915.215.014.914.814.515.115.515.515.115.1......
  • 第九章 DIV+CSS布局
    9.1DIV+CSS概述DIV+CSS是Web设计标准,它是一种网页的布局方法。与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离。DIV组成了网页的格局,CSS则装饰了格局,比如建一栋房子,开始的架子是DIV,架子搭建好后开始装饰,这个装饰就是CSS样式。用DIV+CSS布局......
  • 第九章习题3-编写一个函数print,打印一个学生的成绩数组,该数组有5个学生的数据记录,每个
     ......
  • 代码随想录算法训练营第42天 | 第九章动态规划 part2
    文章目录第十章单调栈part0242.接雨水示例数组:过程解释表格:过程解析:双指针法84.柱状图中最大的矩形双指针法单调栈法第十章单调栈part0242.接雨水接雨水这道题目是面试中特别高频的一道题,也是单调栈应用的题目,大家好好做做。建议是掌握双指针和单调栈,因......
  • 自修C++PrimerPlus--第九章(上)
    目录1.类作用域1.1基本介绍1.2作用域为类的常量1.3作用域内枚举2.内存模型和名称空间2.1头文件重复包含问题2.2存储连续性2.3独立编译的过程2.4链接属性2.4.1外部连接性2.4.2内部连接性2.4.3无连接性2.5自动变量和栈2.6寄存器变量2.7静态变量2.8extern举例说......
  • Linux 基础入门操作 第九章 进程之间通讯信号量
    systemV的进程间通信之信号量9.3信号量信号量与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时,进程也可以修改该标志。除了用于访问控制外,还可用于进程同步。信号量有以下两......
  • 第九章,网络编程
    高级编程文章目录高级编程第九章,网络编程一,概述二,IP地址三,网络通信四,Socket简介第九章,网络编程一,概述计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和......
  • 青少年编程与数学 01-010 青少年成长管理 第九章 计划 6_2 计划原则
    青少年编程与数学01-010青少年成长管理第九章计划6_2计划原则第二节计划原则一、幸福生活,快乐成长二、面向未来,兼顾眼前(一)面向未来(1)顺应社会发展趋势(2)培养适应力与创新能力(3)关注个人兴趣与价值观(二)兼顾眼前(1)打好基础教育(2)适时调整与反馈(3)注重实践经验积累三、......
  • 《ARM Cortex-R 学习指南》-【第九章】-内存保护单元
    第九章内存保护单元许多实时系统在多任务操作系统(OS)下运行。操作系统提供了一种机制,以确保当前执行的任务不会干扰其他任务的操作。系统资源、其他任务的代码和数据都受到保护。保护系统通常依赖于硬件和软件的结合。在没有硬件保护支持的系统中,每个任务必须与其他任务协......
  • 计算机三级 - 数据库技术 - 第九章 安全管理 笔记
    第九章安全管理内容提要:理解安全控制的基本概念了解SOLServer2008的存取控制掌握SQLServer2008的安全控制实现方式了解Oracle的安全管理9.1安全控制概述9.2存取控制自主存取控制又称自主安全模式,通过SQL的GRANT,REVOKE,DENY语句来实现。权限......