<jupyter_start><jupyter_text>At the start of this video  1. We were able to create/intialise numpy arrays.    1. Slicing<jupyter_code>import numpy as np
my_np_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
my_np_array
my_np_array[:2]   # All elements before row 2
# Before ',' we telling to take all rows
# After ',' we are asking for the first column only
my_np_array[:, :1]  
my_np_array[1:3]
my_np_array[:,1:3]
my_np_array[1:3, 1:3]<jupyter_output><empty_output><jupyter_text>2. Integer Array Indexing<jupyter_code>my_np_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
my_np_array
my_np_array[[0, 1, 2], [0, 1, 2]]
my_np_array[[0, 1, 2, 3], [1, 1, 2, 1]]<jupyter_output><empty_output><jupyter_text>3. Boolean Masking<jupyter_code>my_np_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
my_np_array
bool_mask = my_np_array%2==0
bool_mask
my_np_array[bool_mask]
bool_mask2 = my_np_array%5==0
bool_mask2
my_np_array[bool_mask2]<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1712871287128713, 'fraction_numerical': 0.0801980198019802, 'mean_word_length': 6.170212765957447, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '275129', 'license': 'MIT', 'n_tokens_mistral': 501, 'n_tokens_neox': 460, 'n_words': 114, 'path': 'Section 3/Notebooks/3.3 Indexing in Numpy arrays.ipynb', 'repo_name': 'PacktPublishing/High-Performance-Computing-with-Python-3.x', 'size': '1010'}