structure updates
This commit is contained in:
160
tech_docs/python/NumPy.md
Normal file
160
tech_docs/python/NumPy.md
Normal file
@@ -0,0 +1,160 @@
|
||||
A powerful and versatile Python library for scientific computing is `NumPy`. It provides support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. NumPy is foundational for many other Python data science and machine learning libraries, offering efficient array operations and numerical computations. Here's a concise reference guide for common use cases with `NumPy`, formatted in Markdown syntax:
|
||||
|
||||
# `NumPy` Reference Guide
|
||||
|
||||
## Installation
|
||||
```
|
||||
pip install numpy
|
||||
```
|
||||
|
||||
## Basic Operations
|
||||
|
||||
### Importing NumPy
|
||||
```python
|
||||
import numpy as np
|
||||
```
|
||||
|
||||
### Creating Arrays
|
||||
```python
|
||||
# Create a one-dimensional array
|
||||
arr_1d = np.array([1, 2, 3])
|
||||
|
||||
# Create a two-dimensional array
|
||||
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])
|
||||
|
||||
# Create an array of zeros
|
||||
zeros = np.zeros((3, 4))
|
||||
|
||||
# Create an array of ones
|
||||
ones = np.ones((2, 3))
|
||||
|
||||
# Create an array with a range of elements
|
||||
range_array = np.arange(10)
|
||||
|
||||
# Create a linearly spaced array
|
||||
linear_spaced = np.linspace(0, 1, 5)
|
||||
```
|
||||
|
||||
### Array Attributes
|
||||
```python
|
||||
# Array shape
|
||||
print(arr_2d.shape)
|
||||
|
||||
# Number of array dimensions
|
||||
print(arr_2d.ndim)
|
||||
|
||||
# Data type of array elements
|
||||
print(arr_2d.dtype)
|
||||
|
||||
# Size of the array (number of elements)
|
||||
print(arr_2d.size)
|
||||
```
|
||||
|
||||
### Indexing and Slicing
|
||||
```python
|
||||
# Get a specific element [r, c]
|
||||
element = arr_2d[1, 2]
|
||||
|
||||
# Get a specific row
|
||||
row = arr_2d[0, :]
|
||||
|
||||
# Get a specific column
|
||||
col = arr_2d[:, 2]
|
||||
|
||||
# Slicing [start_index:end_index:step_size]
|
||||
slice_arr = arr_2d[0, 0:2]
|
||||
```
|
||||
|
||||
### Basic Array Operations
|
||||
```python
|
||||
# Element-wise addition
|
||||
result = arr_1d + arr_1d
|
||||
|
||||
# Element-wise subtraction
|
||||
result = arr_1d - arr_1d
|
||||
|
||||
# Scalar multiplication
|
||||
result = arr_1d * 2
|
||||
|
||||
# Element-wise multiplication
|
||||
result = arr_1d * arr_1d
|
||||
|
||||
# Matrix multiplication
|
||||
result = np.dot(arr_2d, arr_2d.T)
|
||||
|
||||
# Division
|
||||
result = arr_1d / arr_1d
|
||||
```
|
||||
|
||||
### Mathematical Functions
|
||||
```python
|
||||
# Square root
|
||||
sqrt_arr = np.sqrt(arr_1d)
|
||||
|
||||
# Exponential
|
||||
exp_arr = np.exp(arr_1d)
|
||||
|
||||
# Logarithm
|
||||
log_arr = np.log(arr_1d)
|
||||
|
||||
# Trigonometric functions
|
||||
sin_arr = np.sin(arr_1d)
|
||||
```
|
||||
|
||||
### Statistics
|
||||
```python
|
||||
# Minimum
|
||||
min_val = np.min(arr_1d)
|
||||
|
||||
# Maximum
|
||||
max_val = np.max(arr_1d)
|
||||
|
||||
# Sum
|
||||
sum_val = np.sum(arr_1d)
|
||||
|
||||
# Mean
|
||||
mean_val = np.mean(arr_1d)
|
||||
|
||||
# Median
|
||||
median_val = np.median(arr_1d)
|
||||
|
||||
# Standard deviation
|
||||
std_dev = np.std(arr_1d)
|
||||
```
|
||||
|
||||
### Reshaping and Flattening
|
||||
```python
|
||||
# Reshape
|
||||
reshaped_arr = arr_2d.reshape((3, 2))
|
||||
|
||||
# Flatten the array
|
||||
flat_arr = arr_2d.flatten()
|
||||
```
|
||||
|
||||
## Advanced Operations
|
||||
|
||||
### Stacking Arrays
|
||||
```python
|
||||
# Vertical stacking
|
||||
v_stack = np.vstack([arr_1d, arr_1d])
|
||||
|
||||
# Horizontal stacking
|
||||
h_stack = np.hstack([arr_1d, arr_1d])
|
||||
```
|
||||
|
||||
### Splitting Arrays
|
||||
```python
|
||||
# Split the array in 3 equally shaped arrays
|
||||
split_arr = np.split(arr_1d, 3)
|
||||
```
|
||||
|
||||
### Boolean Masking and Advanced Indexing
|
||||
```python
|
||||
# Find elements greater than 2
|
||||
result = arr_1d > 2
|
||||
|
||||
# Index with a boolean array
|
||||
filtered_arr = arr_1d[result]
|
||||
```
|
||||
|
||||
`NumPy` is foundational for numerical and scientific computation in Python, providing efficient operations for handling and processing large data sets. This guide introduces fundamental concepts and operations, but NumPy's capabilities extend much further, making it an essential tool for data analysis, machine learning, and beyond.
|
||||
Reference in New Issue
Block a user