You can filter out 0 values by query and get index of minimal value by idxmin, last select by loc:
s = df.loc[df.query('time != 0')['time'].idxmin()]
print (s)
x 240.0
y 19.0
time 9.7
Name: 3, dtype: float64
df = df.loc[[df.query('time != 0')['time'].idxmin()]]
print (df)
x y time
3 240 19 9.7