创建最小值列表时拒绝零值。 (Python Field Calc)

时间:2015-03-26 17:21:25

标签: python arcgis minimum

我试图从四列值中创建最小值列表。以下是我用过的陈述。

min ([!Depth!, !Depth_1!, !Depth_12!, !Depth_1_13!])

我遇到的问题是这些列下的某些字段包含零。我需要它从大于零的列返回下一个最低值。

我有一个来自ArcGIS文档的shapefile的属性表。它有10列。 ID,形状,缓冲区ID(x4),深度(x4)。

我需要在此数据中添加一个附加列,表示4个深度列中的最小数量。此列中的许多单元格等于零。我需要新列从四个深度列中取最小值,但忽略零值并取下一个最低值。

我工作的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:1)

创建一个为您完成的功能。我添加了一张图片,您可以按照步骤操作。只需将输入名称更改为列名称即可。

def my_min(d1,d2,d3,d4):       
    lst = [d1,d2,d3,d4]        
    return min([x for x in lst if x !=0])

enter image description here