|
@@ -24,6 +24,7 @@ def soil_bulk_density(arr): #arr为计算过的数组
|
|
tRTypeTarget= [] # 定义一个数组存放土壤利用类型存疑的数据指标名称
|
|
tRTypeTarget= [] # 定义一个数组存放土壤利用类型存疑的数据指标名称
|
|
try:
|
|
try:
|
|
for i in arr['相对极差(%)']:
|
|
for i in arr['相对极差(%)']:
|
|
|
|
+ # TODO 此处土地利用类型应从原样品编码提取7-8位两位数组,01代表耕地,02代表园地,03代表林地,04代表草地
|
|
if i > 15 and arr.loc[arr['相对极差(%)'] == i, '土地利用类型'].iloc[0] == '耕地园地':
|
|
if i > 15 and arr.loc[arr['相对极差(%)'] == i, '土地利用类型'].iloc[0] == '耕地园地':
|
|
tRTypeList.append('存疑:耕地园地相对极差>15%。')
|
|
tRTypeList.append('存疑:耕地园地相对极差>15%。')
|
|
tRTypeTarget.append('耕地园地极差。')
|
|
tRTypeTarget.append('耕地园地极差。')
|
|
@@ -93,10 +94,10 @@ def soil_bulk_density(arr): #arr为计算过的数组
|
|
soilList.append('') # 除所有情况外 还有空值
|
|
soilList.append('') # 除所有情况外 还有空值
|
|
|
|
|
|
# 比较和原有数据是否一致
|
|
# 比较和原有数据是否一致
|
|
- arr['土壤类型(判断)'] = soilList
|
|
|
|
|
|
+ arr['土壤质地(判断)'] = soilList
|
|
for index, row in arr.iterrows():
|
|
for index, row in arr.iterrows():
|
|
- if (row['土壤类型(判断)'] != row['土壤质地']) and (not pd.isna(row['土壤质地'])):
|
|
|
|
- soilContent.append('存疑:土壤质地不一致')
|
|
|
|
|
|
+ if (row['土壤质地(判断)'] != row['土壤质地']) and (not pd.isna(row['土壤质地'])):
|
|
|
|
+ soilContent.append('存疑:土壤质地填报与判断不一致')
|
|
soilContentTarget.append('土壤质地。')
|
|
soilContentTarget.append('土壤质地。')
|
|
else:
|
|
else:
|
|
soilContent.append('')
|
|
soilContent.append('')
|
|
@@ -118,7 +119,7 @@ def soil_bulk_density(arr): #arr为计算过的数组
|
|
# print('soilList--', soilList, len(soilList))
|
|
# print('soilList--', soilList, len(soilList))
|
|
pdData = pd.DataFrame({
|
|
pdData = pd.DataFrame({
|
|
'审核结果': pd.Series(shenHeList) + pd.Series(tRTypeList) + pd.Series(plusShenHeList) + pd.Series(soilContent) + pd.Series(xSLErr),
|
|
'审核结果': pd.Series(shenHeList) + pd.Series(tRTypeList) + pd.Series(plusShenHeList) + pd.Series(soilContent) + pd.Series(xSLErr),
|
|
- '土壤类型(判断)': soilList,
|
|
|
|
|
|
+ '土壤质地(判断)': soilList,
|
|
'异常指标': pd.Series(shenHeTarget) + pd.Series(tRTypeTarget) + pd.Series(plusShenHeTarget) + pd.Series(soilContentTarget) + pd.Series(xSLTarget),
|
|
'异常指标': pd.Series(shenHeTarget) + pd.Series(tRTypeTarget) + pd.Series(plusShenHeTarget) + pd.Series(soilContentTarget) + pd.Series(xSLTarget),
|
|
})
|
|
})
|
|
return pdData
|
|
return pdData
|
|
@@ -397,9 +398,9 @@ def cation_value(arr):
|
|
exchangeableNa.append('')
|
|
exchangeableNa.append('')
|
|
exchangeableNaTar.append('')
|
|
exchangeableNaTar.append('')
|
|
# (8)pH<7.5,阳离子交换量>交换性盐总量>四大离子之和,且盐基饱和度小于100 %;违反则存疑;pH≥7.5,交换性盐总量 = 四大离子之和,盐基饱和度范围在80~120 %;违反则存疑;
|
|
# (8)pH<7.5,阳离子交换量>交换性盐总量>四大离子之和,且盐基饱和度小于100 %;违反则存疑;pH≥7.5,交换性盐总量 = 四大离子之和,盐基饱和度范围在80~120 %;违反则存疑;
|
|
- if ((not pd.isna(row['pH']) and row['pH']<7.5 and row['阳离子交换量Cmol(+)/kg']>row['交换性盐总量Cmol(+)/kg']>row['四大离子之和'] and row['盐基饱和度%']*100 <80 ) or
|
|
|
|
- ((not pd.isna(row['pH']) and row['pH']>=7.5 and row['交换性盐总量Cmol(+)/kg']==row['四大离子之和'] and (row['盐基饱和度%'] <120 and row['盐基饱和度%'] >80 ))) or
|
|
|
|
- ((not pd.isna(row['pH']) and row['pH']<6 and row['盐基饱和度%'] >80))
|
|
|
|
|
|
+ if ((not pd.isna(row['pH']) and row['pH']<7.5 and row['阳离子交换量Cmol(+)/kg']>row['交换性盐总量Cmol(+)/kg']>row['四大离子之和'] and row['盐基饱和度%']*100 <100 ) or
|
|
|
|
+ ((not pd.isna(row['pH']) and row['pH']>=7.5 and row['交换性盐总量Cmol(+)/kg']==row['四大离子之和'] and (row['盐基饱和度%']*100 <120 and row['盐基饱和度%']*100 >80 )))or
|
|
|
|
+ ((not pd.isna(row['pH']) and row['pH']<6 and row['盐基饱和度%'] >80))
|
|
):
|
|
):
|
|
summaryList.append('')
|
|
summaryList.append('')
|
|
summaryListTar.append('')
|
|
summaryListTar.append('')
|
|
@@ -534,8 +535,8 @@ def eight_ion_coun(arr, summary):
|
|
|
|
|
|
#(13)水溶性八大离子换算为g / kg,如水溶性钠离子g / kg = 水溶性钠离子cmol(Na +) / kg×23g / mol×10 - 2; 这里在计算离子和时已转换
|
|
#(13)水溶性八大离子换算为g / kg,如水溶性钠离子g / kg = 水溶性钠离子cmol(Na +) / kg×23g / mol×10 - 2; 这里在计算离子和时已转换
|
|
#(14)pH<8,碳酸根基本为0
|
|
#(14)pH<8,碳酸根基本为0
|
|
- if row['pH'] <8 and not pd.isna(row['水溶性碳酸根离子含量cmol(1/2CO32+)/kg']) and row['水溶性碳酸根离子含量cmol(1/2CO32+)/kg'] == 0:
|
|
|
|
- phCoArr.append('水溶性碳酸根:pH<8且水溶性碳酸根为0。')
|
|
|
|
|
|
+ if row['pH'] <8 and not pd.isna(row['水溶性碳酸根离子含量cmol(1/2CO32+)/kg']) and row['水溶性碳酸根离子含量cmol(1/2CO32+)/kg'] != 0:
|
|
|
|
+ phCoArr.append('水溶性碳酸根:pH<8水溶性碳酸根不为0。')
|
|
phCoArrTar.append('水溶性碳酸根。')
|
|
phCoArrTar.append('水溶性碳酸根。')
|
|
else:
|
|
else:
|
|
phCoArr.append('')
|
|
phCoArr.append('')
|