浏览代码

12月28日更新

张世豪 2 月之前
父节点
当前提交
11605af2b1
共有 4 个文件被更改,包括 13 次插入14 次删除
  1. 4 4
      partReport.py
  2. 8 8
      public.py
  3. 0 2
      report.py
  4. 1 0
      rongzhong.py

+ 4 - 4
partReport.py

@@ -529,7 +529,7 @@ def  getphysicsReport(originData,data,type, changeFileUrl, saveFileUrl, check_1_
           紫色: 省级阈值超出国家阈值的,数据超出省级阈值标成紫色(注,此种情况超国家阈值的红色服从紫色,仅标紫色)
           极值法: 常用的统计量是均值、标准差、最大值、最小值、分位数等,用来判断是否超出了合理的极值范围。根据相关指标历年数据与指标最大值、最小值、平均数、中位数和极差进行审查,结合相关外业情况。
           关联分析方法: 存在量化关系的指标,通过设定组合筛选异常值,如碳氮比等关联分析。
-          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
+          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
           数据质量溯源:异常数据溯源,可能是内业测试化验环节问题,也有可能是外业调查采样问题,要结合数据检测和异常复检情况具体判断。
         """
     para = doc.add_paragraph(long_text4)
@@ -1031,7 +1031,7 @@ def getConventionalNutrientIndicators(originData,data,type, changeFileUrl, saveF
           紫色: 省级阈值超出国家阈值的,数据超出省级阈值标成紫色(注,此种情况超国家阈值的红色服从紫色,仅标紫色)
           极值法: 常用的统计量是均值、标准差、最大值、最小值、分位数等,用来判断是否超出了合理的极值范围。根据相关指标历年数据与指标最大值、最小值、平均数、中位数和极差进行审查,结合相关外业情况。
           关联分析方法: 存在量化关系的指标,通过设定组合筛选异常值,如碳氮比等关联分析。
-          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
+          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
           数据质量溯源:异常数据溯源,可能是内业测试化验环节问题,也有可能是外业调查采样问题,要结合数据检测和异常复检情况具体判断。
         """
     para = doc.add_paragraph(long_text4)
@@ -1626,7 +1626,7 @@ def getChemicalIndicators(originData,data,type, changeFileUrl, saveFileUrl, chec
           紫色: 省级阈值超出国家阈值的,数据超出省级阈值标成紫色(注,此种情况超国家阈值的红色服从紫色,仅标紫色)
           极值法: 常用的统计量是均值、标准差、最大值、最小值、分位数等,用来判断是否超出了合理的极值范围。根据相关指标历年数据与指标最大值、最小值、平均数、中位数和极差进行审查,结合相关外业情况。
           关联分析方法: 存在量化关系的指标,通过设定组合筛选异常值,如碳氮比等关联分析。
-          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
+          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
           数据质量溯源:异常数据溯源,可能是内业测试化验环节问题,也有可能是外业调查采样问题,要结合数据检测和异常复检情况具体判断。
         """
     para = doc.add_paragraph(long_text4)
@@ -2169,7 +2169,7 @@ def getHeavyMetalIndicators(originData, data, type, changeFileUrl, saveFileUrl,
           紫色: 省级阈值超出国家阈值的,数据超出省级阈值标成紫色(注,此种情况超国家阈值的红色服从紫色,仅标紫色)
           极值法: 常用的统计量是均值、标准差、最大值、最小值、分位数等,用来判断是否超出了合理的极值范围。根据相关指标历年数据与指标最大值、最小值、平均数、中位数和极差进行审查,结合相关外业情况。
           关联分析方法: 存在量化关系的指标,通过设定组合筛选异常值,如碳氮比等关联分析。
-          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
+          指标综合分析:根据指标相互之间的关系,如有效磷在全磷中的占比、全钾与速效钾缓效钾之和的关系等。有机质、全磷、有效磷、全钾等数据异常; 全氮和有机质之间关系不合理; 速效钾含量远大于缓效钾,盐基总量远大于阳离子交换量; 部分样品阳离子交换量和交换性盐基总量测定结果偏低; 水溶盐离子总量与全盐量的相对偏差已远超过方法规定的允差范围; 容重检测偏差比较大;水稳性大团聚体土壤燥结块,影响测定结果、重金属按照风险筛选值和风险管控值等问题。
           数据质量溯源:异常数据溯源,可能是内业测试化验环节问题,也有可能是外业调查采样问题,要结合数据检测和异常复检情况具体判断。
         """
     para = doc.add_paragraph(long_text4)

+ 8 - 8
public.py

@@ -156,16 +156,16 @@ def water_stable(arr):
             #     shenHeList.append('')
             #     shenHeTar.append('')
             # 规则2判断
-            if row['总和(%)'] > 60 or row['总和(%)'] < 1:
+            if pd.isna(row['总和(%)']) and row['总和(%)'] > 90 or row['总和(%)'] < 30:
                 plusList.append('水稳性大团聚体:总和复核数据合理性。')
                 plusTar.append('水稳总和。')
             else:
                 plusList.append('')
                 plusTar.append('')
-            if (row['土地利用类型'] == '耕地园地' and row['总和(%)'] > 80) or (row['土地利用类型'] == '林地草地' and row['总和(%)'] > 90):
-                soilType.append('关注:耕地园地团聚体总和大于80或林地草地团聚体总和大于90。')
-            else:
-                soilType.append('')
+            # if (row['土地利用类型'] == '耕地园地' and row['总和(%)'] > 80) or (row['土地利用类型'] == '林地草地' and row['总和(%)'] > 90):
+            #     soilType.append('关注:耕地园地团聚体总和大于80或林地草地团聚体总和大于90。')
+            # else:
+            #     soilType.append('')
             if row['>5mm%'] > 10:
                 rateList.append('存疑:>5mm占比超过10%应回溯。')
                 rateTar.append('水稳>5mm。')
@@ -409,7 +409,7 @@ def cation_value(arr):
                 summaryList.append('')
                 summaryListTar.append('')
             else:
-                summaryList.append('存疑:ph值、阳离子交换量、交换性盐总量、离子总和、盐基饱和度之间关系存疑。')
+                summaryList.append('存疑:PH值、阳离子交换量、交换性盐总量、离子总和、盐基饱和度之间关系存疑。')
                 summaryListTar.append('盐基饱和度。')
             soilRes = soilTypeValue(row)
             soilTypeList.append(soilRes)
@@ -563,7 +563,7 @@ def eight_ion_coun(arr, summary):
                 changeComArr.append('')
             #(16)(水溶性全盐量 - 八大离子加和) / 八大离子加和 * 100,不超过±20 %
             if not pd.isna(row['(水溶性全盐量-八大离子加和)/水溶性全盐量×100']) and (row['(水溶性全盐量-八大离子加和)/水溶性全盐量×100'] < -0.2 or row['(水溶性全盐量-八大离子加和)/水溶性全盐量×100'] > 0.2) :
-                rateArr.append('存疑:(水溶性全盐量-八大离子加和)/水溶性全盐量×100复核数据合理性。')
+                rateArr.append('存疑:全盐量与水溶性八大离子加和的相对相差超过±20%,复核合理性。')
             else:
                 rateArr.append('')
             #(17)阳离子总量 - 阴离子总量应基本相等,超过±0.5则提示异常
@@ -612,7 +612,7 @@ def nutrient_data(arr):
         for index, row in arr.iterrows():
             # 交换性钾 == 速效钾
             if not pd.isna(row['速效钾mg/kg']) and not pd.isna(row['交换性钾']) and (2*(row['速效钾mg/kg'] - row['交换性钾']*391) / (row['速效钾mg/kg'] + row['交换性钾']*391) > 0.2 or 2*(row['速效钾mg/kg'] - row['交换性钾']*391)/ (row['速效钾mg/kg'] + row['交换性钾']*391) < -0.2):
-                sKErr.append('存疑:交换性钾和速效钾误差超20%。')
+                sKErr.append('存疑:交换性钾和速效钾相对相差超过±20%,复核合理性。')
                 sKErrTar.append('交换性钾、速效钾。')
             else:
                 sKErr.append('')

+ 0 - 2
report.py

@@ -877,7 +877,6 @@ def getKData(data, url):
     getInteractiveImg(x, y, '速效钾', x_1, y_1, '缓效钾', [], [], '', url,
                       '速效钾与缓效钾散点图', '样品序号', 'mg/kg', data['原样品编号'])
 
-
 # 15.重金属 已有 提取重金属异常数据即可
 def getMetal(simpleData):
     # resData_14 数据中提取重金属超标的数据,提取相应的指标形成表格
@@ -926,7 +925,6 @@ def cationExchangeCapacity(data, url):
     pio.write_image(fig, f"{url}/阳离子交换量与交换性盐基总量相关性散点图.png")
 
 
-# cationExchangeCapacity('')
 # 17.交换性盐基:二者之差 交换性盐基总量cmol(+)/kg 交换性钙镁钠钾之和 区分ph>7.5 和ph值<7.5
 def changeCation(data,url):
     hightData = data[data['pH'] > 7.5]

+ 1 - 0
rongzhong.py

@@ -1635,6 +1635,7 @@ def saveFile():
                 getImg(imgData['有机质g/kg'],imgData['总和(%)'],mkdir_path,
                        '有机质与水稳总和相关性散点图','水稳性大团聚体数据','有机质g/kg','水稳总和(%)',imgData['编号'],
                        mkdir_path + '/水稳性大团聚体数据-' + nowTime + '.xlsx','N1')
+
                 getStatisticsImg(nowTable_sw['总和(%)'], '水稳总和(%)', '水稳总和(%)',
                                  mkdir_path + '/水稳性大团聚体数据-' + nowTime + '.xlsx', mkdir_path, 'B19')
                 getStatisticsImg(nowTable_sw['>5mm%'], '>5mm%', '>5mm%',