NUMPY QUICK REFERENCE: Creating Arrays: - np.array([1,2,3]) # From list - np.zeros(5) # Array of zeros - np.ones((2,3)) # Array of ones - np.arange(0,10,2) # Range with step - np.linspace(0,1,5) # Evenly spaced Array Info: - arr.shape # Dimensions - arr.size # Total elements - arr.dtype # Data type - arr.ndim # Number of dimensions Indexing: - arr[0] # First element - arr[-1] # Last element - arr[1:4] # Slice - arr[row, col] # 2D indexing Operations: - arr1 + arr2 # Element-wise addition - arr * 3 # Scalar multiplication - arr ** 2 # Element-wise power - np.sqrt(arr) # Square root Statistics: - np.mean(arr) # Average - np.max(arr) # Maximum - np.min(arr) # Minimum - np.sum(arr) # Sum - np.std(arr) # Standard deviation Reshaping: - arr.reshape(3,4) # Change shape - arr.flatten() # Make 1D Filtering: - arr[arr > 5] # Boolean indexing - np.sum(arr > 5) # Count elements