Предполагая, что структура, которую мы видим в образце ваших данных, содержит весь набор данных, т. Е. Имеется только одно значение Profit на ордер, вы можете сделать это следующим образом: сгруппировать DataFrame по ордеру и агрегировать, взяв минимум :
df_grouped = df.groupby(by='Order').min()
, в результате чего получается этот фрейм данных:
Time Profit
Order
1 106 -296.0
2 14 -296.0
3 62 NaN
...
106 32 -297.6
107 44 138.0
108 58 -303.4
Затем вы можете отсортировать по времени и построить график:
import matplotlib.pyplot as plt
df_grouped.sort_values(by='Time', inplace=True)
plt.plot(df_grouped['Time'], df_grouped['Profit'])