import numpy as np
import math
import pandas as pd
import matplotlib.pyplot as plt
import openpyxl as op
import seaborn as sns
pd.set_option('display.width', 1000)#加了这一行那表格的一行就不会分段出现了
#显示所有列
pd.set_option('display.max_columns', None)
#显示所有行
pd.set_option('display.max_rows', None)
path = 'D:/shumo/jianmo/A2_new.xlsx'
data = pd.read_excel(path,sheet_name = 0)
print(type(data))
data_new = data.values
print(data_new)
print(type(data_new))
# print(data_new)
print(data_new.shape)
# print("######################")
# data = np.delete(data_new,0,axis=1)
# data = np.delete(data,0,axis=1)
# # print(data)
# print(data.shape)
# print(type(data))
# print('####################')
data = data_new.tolist()
# print(data)
print(type(data))
print(np.array(data).shape)
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
# 用于储存每行的最大AQI
AQI_max_plot = []
AQI_max = ["AQI"]
IQAI_so2 = ["so2"]
IQAI_no2 = ["no2"]
IQAI_pm10 = ["pm10"]
IQAI_pm2_5 = ["pm2_5"]
IQAI_o3 = ["o3"]
IQAI_co = ["co"]
# for row in range(0,len(data)-3):
for row in range(0,len(data)):
# 用于储存 每行的IAQI
IAQI = []
for i in range(0,6):
# 二氧化硫的IAQI计算
if i == 0:
if data[row][i]<=50:
IAQI_h = 50
IAQI_l = 0
BP_h = 50
BP_l = 0
IAQI_0 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
else:
print("erro 0")
IQAI_so2.append(IAQI_0)
IAQI.append(IAQI_0)
# 二氧化氮的IAQI计算
elif i == 1:
if data[row][i]<=40:
IAQI_h = 50
IAQI_l = 0
BP_h = 40
BP_l = 0
IAQI_1 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i]<=80:
IAQI_h = 100
IAQI_l = 50
BP_h = 80
BP_l = 40
IAQI_1 = ((IAQI_h - IAQI_l) / (BP_h - BP_l)) * (data[row][i] - BP_l) + IAQI_l
elif data[row][i]<=180:
IAQI_h = 150
IAQI_l = 100
BP_h = 180
BP_l = 80
IAQI_1 = ((IAQI_h - IAQI_l) / (BP_h - BP_l)) * (data[row][i] - BP_l) + IAQI_l
elif data[row][i] <= 280:
IAQI_h = 200
IAQI_l = 150
BP_h = 280
BP_l = 180
IAQI_1 = ((IAQI_h - IAQI_l) / (BP_h - BP_l)) * (data[row][i] - BP_l) + IAQI_l
else:
print("erro 1")
IQAI_no2.append(IAQI_1)
IAQI.append(IAQI_1)
#PM10 IAQI 的计算
elif i == 2:
if data[row][i]<=50:
IAQI_h = 50
IAQI_l = 0
BP_h = 50
BP_l = 0
IAQI_2 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i]<=150:
IAQI_h = 100
IAQI_l = 50
BP_h = 150
BP_l = 50
IAQI_2 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i] <= 250:
IAQI_h = 150
IAQI_l = 100
BP_h = 250
BP_l = 150
IAQI_2 = ((IAQI_h - IAQI_l) / (BP_h - BP_l)) * (data[row][i] - BP_l) + IAQI_l
else:
print("erro 2")
IQAI_pm10.append(IAQI_2)
IAQI.append(IAQI_2)
# PM2.5 IAQI 的计算
elif i == 3:
if data[row][i] <= 35:
IAQI_h = 50
IAQI_l = 0
BP_h = 35
BP_l = 0
IAQI_3 = ((IAQI_h - IAQI_l) / (BP_h - BP_l)) * (data[row][i] - BP_l) + IAQI_l
elif data[row][i] <= 75:
IAQI_h = 100
IAQI_l = 50
BP_h = 75
BP_l = 35
IAQI_3 = ((IAQI_h - IAQI_l) / (BP_h - BP_l)) * (data[row][i] - BP_l) + IAQI_l
elif data[row][i] <= 115:
IAQI_h = 150
IAQI_l = 100
BP_h = 115
BP_l = 75
IAQI_3 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i] <= 150:
IAQI_h = 200
IAQI_l = 150
BP_h = 150
BP_l = 115
IAQI_3 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i] <= 250:
IAQI_h = 300
IAQI_l = 200
BP_h = 250
BP_l =150
IAQI_3 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i] <= 350:
IAQI_h = 400
IAQI_l = 300
BP_h = 350
BP_l =250
IAQI_3 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i] <= 500:
IAQI_h = 500
IAQI_l = 400
BP_h = 500
BP_l =350
IAQI_3 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
else:
print("erro 3")
IQAI_pm2_5.append(IAQI_3)
IAQI.append(IAQI_3)
# 臭氧 IAQI的计算
elif i ==4:
if data[row][i]<=100:
IAQI_h = 50
IAQI_l = 0
BP_h = 100
BP_l = 0
IAQI_4 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i]<=160:
IAQI_h = 100
IAQI_l = 50
BP_h = 160
BP_l = 100
IAQI_4 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i]<=215:
IAQI_h = 150
IAQI_l = 100
BP_h = 215
BP_l = 160
IAQI_4 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i] <= 265:
IAQI_h = 200
IAQI_l = 150
BP_h = 265
BP_l = 215
IAQI_4 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i] <= 800:
IAQI_h = 300
IAQI_l = 200
BP_h = 800
BP_l = 265
IAQI_4 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
else:
print("erro 4")
IQAI_o3.append(IAQI_4)
IAQI.append(IAQI_4)
# 一氧化碳 IAQI 的计算
else:
if data[row][i] <=2:
IAQI_h = 50
IAQI_l = 0
BP_h = 2
BP_l = 0
IAQI_5 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
elif data[row][i]<=4:
IAQI_h = 100
IAQI_l = 50
BP_h = 4
BP_l = 2
IAQI_5 = ((IAQI_h -IAQI_l)/(BP_h-BP_l))*(data[row][i]-BP_l)+IAQI_l
else:
print("erro 5")
# IQAI_co.append(IAQI_5)
IAQI.append(IAQI_5)
# print(IAQI)
# 取最大的IAQI
IAQI_max = (max(IAQI))
IAQI_max = math.ceil(IAQI_max)
AQI_max.append(IAQI_max)
AQI_max_plot.append(IAQI_max)
print(AQI_max ,end = '')
#将获得的AQI列表写入原excel表格
def write(list):
bg = op.load_workbook(r"A3_new.xlsx") # 应先将excel文件放入到工作目录下
sheet = bg["1"] # “Sheet1”表示将数据写入到excel文件的sheet1下
for i in range(1, len(list) + 1):
sheet.cell(i,16, list[i - 1])# sheet.cell(1,1,num_list[0])表示将num_list列表的第0个数据1写入到excel表格的第一行第一列
bg.save("A3_new.xlsx") # 对文件�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
资源推荐
资源详情
资源评论
收起资源包目录
2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章} (103个子文件)
sub_Weighted.csv 96KB
sub_Stacking.csv 96KB
.gitignore 184B
程序.iml 450B
3.缺失值查看.ipynb 479KB
第一次特征筛选.ipynb 161KB
4.处理A表sheet3 - 副本.ipynb 146KB
4.处理A表sheet3 - 副本-checkpoint.ipynb 127KB
0.题目3.ipynb 110KB
x.忽略---处理A表sheet3-边缘直方图.ipynb 102KB
x.忽略---处理A表sheet3-边缘直方图-checkpoint.ipynb 102KB
第二次特征筛选.ipynb 101KB
0.预测模型.ipynb 99KB
0.预测模型-checkpoint.ipynb 98KB
1.特征筛选-checkpoint.ipynb 84KB
1.特征筛选.ipynb 76KB
T3-天预测.ipynb 75KB
最新SO2-checkpoint.ipynb 72KB
0.T3不归一化.ipynb 71KB
最新aqi.ipynb 64KB
最新aqi.ipynb 64KB
最新SO2.ipynb 64KB
最新SO2.ipynb 64KB
3.箱图删除异常值.ipynb 47KB
4.特征筛选进行归一化后效果.ipynb 35KB
Untitled.ipynb 29KB
0.融合.ipynb 20KB
0.融合-checkpoint.ipynb 20KB
1.特征变量筛选.ipynb 11KB
3.缺失值查看-checkpoint.ipynb 9KB
0.题目4.ipynb 4KB
0.题目2.ipynb 889B
第一次特征筛选-checkpoint.ipynb 72B
第二次特征筛选-checkpoint.ipynb 72B
最新aqi-checkpoint.ipynb 72B
0.T3不归一化-checkpoint.ipynb 72B
T3-天预测-checkpoint.ipynb 72B
1.特征变量筛选-checkpoint.ipynb 72B
0.题目4-checkpoint.ipynb 72B
0.题目3-checkpoint.ipynb 72B
4.特征筛选进行归一化后效果-checkpoint.ipynb 72B
0.题目2-checkpoint.ipynb 72B
3.箱图删除异常值-checkpoint.ipynb 72B
overview_of_science_processes_1_-_master.jpg 553KB
第一次筛选sfs表.jpg 216KB
第二次特征sfs表.jpg 142KB
settings.json 1KB
processing data.py 9KB
AQI-searon.py 6KB
AQI-month.py 3KB
plot5.py 3KB
t2_data.py 3KB
plot2.py 2KB
plot3.py 1KB
plot0.py 1KB
plot1.py 1011B
test1.py 934B
plot4.py 390B
convert.py 226B
表A2全部因素的---斯皮尔曼相关性系数.svg 171KB
L1.svg 88KB
特征序列选择lasso.svg 87KB
特征序列选择线性.svg 86KB
特征序列选择rideg.svg 85KB
机森林第1次特征.svg 81KB
2特征序列选择lasso.svg 62KB
L1-2.svg 61KB
2特征序列选择线性.svg 60KB
2特征序列选择rideg.svg 60KB
机森林第二次特征.svg 57KB
气象---斯皮尔曼相关性系数.svg 56KB
表A3相关性分析---斯皮尔曼相关性系数.svg 55KB
表A3相关性分析---斯皮尔曼相关性系数.svg 55KB
lstm.svg 46KB
学习率图.svg 45KB
特征序列选择sfs.svg 41KB
特征序列选择sfs.svg 36KB
特征序列选择2sfs.svg 36KB
特征序列选择sfs.svg 35KB
缺失值.svg 32KB
RNN.svg 32KB
TD3.vsdx 84KB
A2归一化.xls 4.41MB
A2_new.xls 2.41MB
A2_new.xls 1.9MB
Al1+l2.xls 1.82MB
A2_特征选择.xls 1.63MB
A2_特征选择2.xls 957KB
A3归一化.xls 149KB
A3_new-填充.xls 96KB
A00.xls 95KB
相关性.xls 39KB
A2_new.xlsx 1.37MB
A2_特征选择.xlsx 1.28MB
mean-month-aqi.xlsx 11KB
month-aqi.xlsx 10KB
相关性.xlsx 9KB
IAQI-AQI.xlsx 9KB
workspace.xml 6KB
Project_Default.xml 2KB
共 103 条
- 1
- 2
汀、人工智能
- 粉丝: 7w+
- 资源: 367
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Android的学生信息管理2.rar
- 3e9ef566-ba13-47b0-a252-77aa9e4b040f8412130.apk
- 毕业设计基于SSM的房屋租赁系统源【源码+lw+部署+讲解】
- 基于Android男装出口管理系统的app.rar
- 工资表生成工资条Excel模版
- 位运算、状态压缩、枚举子集汇总.html
- C++毕业设计快递分拣机器人系统源码+论文文件+资料.zip
- 锐龙处理器 体质分析工具,体质越好越稳定,越容易超频 tool1007/Win V/F
- IOS Swift3 四种单例模式详解及实例《PPT文档》
- Swin-Unet网络预训练模型,swin-tiny-patch-window7-224.pth
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页