import pandas as pd
import numpy as np
pd.options.display.max_columns =None
p_df = pd.read_excel('产量.xlsx')
p_ratio = pd.read_excel('养殖配比.xls')
xunibiaoge = pd.read_excel('污染系数 - 副本.xlsx')
p_df=p_df.fillna(0)print(p_df.iloc[700:,:])#print(p_ratio.iloc[0:30,0:5])#print(xunibiaoge)# 北京2006for year inrange(2006,2019):
fenlei_list =[[0+4*i,1+4*i,2+4*i,3+4*i]for i inrange(32)]
diqu_list =[[i for i inrange(0,25)],[i for i inrange(25,49)],[i for i inrange(49,83)],[i for i inrange(83,112)],[i for i inrange(812,834)],[i for i inrange(112,143)],[i for i inrange(834,861)],[i for i inrange(861,833)],[i for i inrange(143,169)],[i for i inrange(169,204)],[i for i inrange(204,239)],[i for i inrange(239,274)],[i for i inrange(274,309)],[i for i inrange(309,343)],[i for i inrange(343,375)],[i for i inrange(375,409)],[i for i inrange(409,442)],[i for i inrange(442,476)],[i for i inrange(476,511)],[i for i inrange(511,544)],[i for i inrange(544,573)],[i for i inrange(573,606)],[i for i inrange(606,637)],[i for i inrange(637,672)],[i for i inrange(672,705)],[i for i inrange(705,715)],[i for i inrange(715,748)],[i for i inrange(748,777)],[i for i inrange(777,790)],[i for i inrange(790,812)],[i for i inrange(883,912)],[i for i inrange(912,947)]]print(year)for i_index inrange(32):
fenlei_list =[[0+4*i,1+4*i,2+4*i,3+4*i]for i inrange(32)]
fenlei = p_ratio.iloc[fenlei_list[i_index],year-2004]# 地区的模型
fenlei1 =[0,0,0,0]
fenlei2=fenlei1
diqu = p_df.iloc[diqu_list[i_index],[1,year-2004]]# 设置地区
outcome = pd.DataFrame([],index = p_df.iloc[diqu_list[i_index],1],columns =['池塘','围栏','网箱','工厂化'])#print(outcome)for i inrange(len(diqu)):
zong =0.00000000000000001for m inrange(len(xunibiaoge)):
index =5
xunimingzi = xunibiaoge.iloc[m,0]if xunimingzi == diqu.iloc[i,0]:
fangshi = xunibiaoge.iloc[m,1]if fangshi =='池塘养殖':
index =0elif fangshi =='围栏养殖':
index =1elif fangshi =='网箱养殖':
index =2elif fangshi =='工厂化养殖':
index =3else:pass
fenlei1[index]= fenlei.iloc[index]
zong += fenlei.iloc[index]for z inrange(4):
fenlei2[z]= fenlei1[z]/ zong
for j inrange(len(fenlei2)):
outcome.iloc[i,j]=diqu.iloc[i,1]*fenlei2[j]
outcome1 = pd.DataFrame(np.zeros((99,5)),columns =['index','池塘','围栏','网箱','工厂化'])
outcome1.iloc[:,0]=xunibiaoge.iloc[:,0]
outcome1 = outcome1.drop_duplicates()
outcome1 = outcome1.reset_index(drop=True)for i inrange(len(outcome)):
name_index = outcome.index[i]for j inrange(len(outcome1)):
p_name_index = outcome1.iloc[j,0]if name_index == p_name_index:
outcome1.iloc[j,1:5]= outcome.iloc[i,:]for j inrange(len(outcome1)):for m inrange(1,5):if outcome1.iloc[j,m]>1000000:
outcome1.iloc[j,m]=0
outcome1.to_csv('{0}年第{1}地区分类产量.csv'.format(year,i_index),encoding ='GBK')
buqu =[[5,6,7],[0,1,2,3,14,26,27,28,29,30,4],[8,21,9,10,11,13,15,16,17,22],[12,18,19,20,23,24,25],[31]]#东北部 ,北部区,中部区,南部区,全国
outcome_h = pd.DataFrame([],columns =['种类','方式','地区','数量','省份编码'])for i inrange(0,5):
buqu_list = buqu[i]
outcome_z = pd.DataFrame(np.zeros((36,5)),columns =['种类','池塘','围栏','网箱','工厂化'])
outcome_z.iloc[:,0]= outcome1.iloc[:,0]for j in buqu_list:
goal1 = pd.read_csv('{0}年第{1}地区分类产量.csv'.format(year,j),encoding ='GBK')
goal1 = goal1.iloc[:,1:6]
outcome_z=goal1
print(outcome_z)# outcome_z=outcome_z.append(goal1)# outcome_z.to_csv('{0}年第{1}区汇总.csv'.format(year,i),encoding='GBK')for k inrange(4):for p inrange(len(outcome_z)):if i ==0:
a ='东北区'elif i ==1:
a ='北部区'elif i ==2:
a ='中部区'elif i ==3:
a ='南部区'else:
a ='全国'if k ==0:
b ='池塘养殖'elif k==1:
b ='围栏养殖'elif k==2:
b ='网箱养殖'else:
b ='工厂化养殖'
c = outcome_z.iloc[p,0]
d = outcome_z.iloc[p,k+1]
jieguo = pd.DataFrame([[c,b,a,d,str(j)]],columns =['种类','方式','地区','数量','省份编码'])
outcome_h = outcome_h.append(jieguo)print(outcome_h)
outcome_h.to_csv('{}年产量汇总.csv'.format(year),encoding='GBK')
wurandata = pd.read_excel('污染系数数据.xlsx')
wurandata = wurandata.iloc[:,1:]print(wurandata)
zuizhong = pd.DataFrame([],columns=['养殖品种','养殖方式','适用范围','氮','磷','COD','铜','锌','省份编码'])print(zuizhong)for i inrange(len(outcome_h)):
a = outcome_h.iloc[i,0:3].to_list()
p = outcome_h.iloc[i,3]
xinde =[]for j inrange(len(wurandata)):
b = wurandata.iloc[j,0:3].to_list()if a == b:
xinde = a +(p * wurandata.iloc[j,3:8]).to_list()print(type(outcome_h.iloc[i,4]))
xinde.append(outcome_h.iloc[i,4])
jieguo = pd.DataFrame([xinde],columns=['养殖品种','养殖方式','适用范围','氮','磷','COD','铜','锌','省份编码'])
zuizhong = zuizhong.append(jieguo)print(zuizhong)
zuizhong.to_csv('{}年污染.csv'.format(year),encoding ='GBK')