Masked arrays are useful when we want to ignore negative values, for instance, when taking the logarithm of array values. Another use case for masked arrays is excluding extreme values. This works based on upper and lower bounds for extreme values.
We will apply these techniques to stock price data. We will skip the steps for downloading data, as they were already covered in the previous chapters.
We will take the logarithm of an array that contains negative numbers:
Create an array containing numbers divisible by three:
triples = np.arange(0, len(close), 3) print("Triples", triples[:10], "...")
Next, create an array with the ones that have the same size as the price data array:
signs = np.ones(len(close)) print("Signs", signs[:10], "...")
Set every third number to be negative, with the help of the indexing tricks you learned in Chapter 2, Advanced Indexing and Array Concepts.
signs[triples] = -1 print("Signs", signs[:10], "...")
Finally, take the...