![](/img/trans.png)
[英]Find the minimum value of a column greater than another column value in Python Pandas
[英]Python - find minimum value greater than 0 in a list of instances
我有一个名为process_list
( Process
类的)实例列表。 我正在努力找到属性l_time
大于0。这是我的类的样子:
class Process:
def __init__(self, id, a_time, p_time):
self.id = id
self.a_time = a_time
self.p_time = p_time
self.l_time = p_time
self.w_time = 0
self.ta_time = 0
self.is_available = False
我尝试了类似的东西:
current_process = min(i for i in process_list if i.l_time > 0)
它给出一个错误:
TypeError:“ Process”和“ Process”的实例之间不支持“ <”
我是否必须以某种方式编写__gt__
函数,还是可以使用lambda
来实现?
使用min的关键参数:
class Process:
def __init__(self, id, a_time, p_time):
self.id = id
self.a_time = a_time
self.p_time = p_time
self.l_time = p_time
self.w_time = 0
self.ta_time = 0
self.is_available = False
process_list = [Process(1, 10, 10), Process(1, 5, 5), Process(1, -5, -5)]
result = min((p for p in process_list if p.l_time > 0), key= lambda x: x.l_time)
print(result.l_time)
输出量
5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.