创建最小值列表时拒绝零值。 (Python 现场计算)

Rejecting zero values when creating a list of minimum values. (Python Field Calc)

我正在尝试根据四列值创建一个最小值列表。下面是我用过的语句。

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

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

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

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

我工作的屏幕截图:

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

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