Assuming you have a data set containing o3 measurements with their corresponding begin times, you can use the built-in sorted() function to sort the data set by begin times, and then use a loop or list slicing to find the 5 begin times with the highest concentration of o3.
First, let's assume that the data set is stored in a list of tuples, where each tuple contains the begin time and o3 concentration. Here's an example data set:
main.py420 chars11 lines
To sort this data set by begin time, we can use the sorted() function with a lambda function to specify that we want it sorted by the first element of each tuple:
main.py55 chars2 lines
This will give us a new list, sorted_data_set, which is a sorted version of data_set, ordered by the begin times.
Next, we can use a loop or list slicing to find the 5 begin times with the highest concentration of o3. Here's an example using a loop:
main.py116 chars5 lines
This loop iterates over the last 5 elements of sorted_data_set, which have the highest begin times, and adds their begin times to a new list top_5.
Alternatively, we can use list slicing to achieve the same result in a more concise manner:
main.py51 chars2 lines
This code slices the last 5 elements of sorted_data_set using [-5:], reverses the resulting list using [::-1], and then extracts the begin times using [x[0] for x in ...].
Either way, the resulting list top_5 will contain the 5 begin times with the highest concentration of o3.
gistlibby LogSnag