#### Overview of this book

Table of Contents (21 chapters)

## Time for action – sorting lexically

The NumPy `lexsort()` function returns an array of indices of the input array elements corresponding to lexically sorting an array. We need to give the function an array or tuple of sort keys:

1. Let's go back to Chapter 3, Getting Familiar with Commonly Used Functions. In that chapter, we used stock price data of AAPL. We will load the close prices and the (always complex) dates. In fact, create a converter function just for the dates:

```def datestr2num(s):
return datetime.datetime.strptime(s, "%d-%m-%Y").toordinal()
dates, closes=np.loadtxt('AAPL.csv', delimiter=',', usecols=(1, 6), converters={1:datestr2num}, unpack=True)```
2. Sort the names lexically with the `lexsort()` function. The data is already sorted by date, but sort it by close as well:

```indices = np.lexsort((dates, closes))
print("Indices", indices)
print(["%s %s" % (datetime.date.fromordinal(dates[i]),
closes[i]) for i in indices])```

The code prints the following:

`Indices [ 0 16  1 17 18  4  3  2  5 28 19...`