
- NumPy - Home
- NumPy - Introduction
- NumPy - Environment
- NumPy Arrays
- NumPy - Ndarray Object
- NumPy - Data Types
- NumPy Creating and Manipulating Arrays
- NumPy - Array Creation Routines
- NumPy - Array Manipulation
- NumPy - Array from Existing Data
- NumPy - Array From Numerical Ranges
- NumPy - Iterating Over Array
- NumPy - Reshaping Arrays
- NumPy - Concatenating Arrays
- NumPy - Stacking Arrays
- NumPy - Splitting Arrays
- NumPy - Flattening Arrays
- NumPy - Transposing Arrays
- NumPy Indexing & Slicing
- NumPy - Indexing & Slicing
- NumPy - Indexing
- NumPy - Slicing
- NumPy - Advanced Indexing
- NumPy - Fancy Indexing
- NumPy - Field Access
- NumPy - Slicing with Boolean Arrays
- NumPy Array Attributes & Operations
- NumPy - Array Attributes
- NumPy - Array Shape
- NumPy - Array Size
- NumPy - Array Strides
- NumPy - Array Itemsize
- NumPy - Broadcasting
- NumPy - Arithmetic Operations
- NumPy - Array Addition
- NumPy - Array Subtraction
- NumPy - Array Multiplication
- NumPy - Array Division
- NumPy Advanced Array Operations
- NumPy - Swapping Axes of Arrays
- NumPy - Byte Swapping
- NumPy - Copies & Views
- NumPy - Element-wise Array Comparisons
- NumPy - Filtering Arrays
- NumPy - Joining Arrays
- NumPy - Sort, Search & Counting Functions
- NumPy - Searching Arrays
- NumPy - Union of Arrays
- NumPy - Finding Unique Rows
- NumPy - Creating Datetime Arrays
- NumPy - Binary Operators
- NumPy - String Functions
- NumPy - Matrix Library
- NumPy - Linear Algebra
- NumPy - Matplotlib
- NumPy - Histogram Using Matplotlib
- NumPy Sorting and Advanced Manipulation
- NumPy - Sorting Arrays
- NumPy - Sorting along an axis
- NumPy - Sorting with Fancy Indexing
- NumPy - Structured Arrays
- NumPy - Creating Structured Arrays
- NumPy - Manipulating Structured Arrays
- NumPy - Record Arrays
- Numpy - Loading Arrays
- Numpy - Saving Arrays
- NumPy - Append Values to an Array
- NumPy - Swap Columns of Array
- NumPy - Insert Axes to an Array
- NumPy Handling Missing Data
- NumPy - Handling Missing Data
- NumPy - Identifying Missing Values
- NumPy - Removing Missing Data
- NumPy - Imputing Missing Data
- NumPy Performance Optimization
- NumPy - Performance Optimization with Arrays
- NumPy - Vectorization with Arrays
- NumPy - Memory Layout of Arrays
- Numpy Linear Algebra
- NumPy - Linear Algebra
- NumPy - Matrix Library
- NumPy - Matrix Addition
- NumPy - Matrix Subtraction
- NumPy - Matrix Multiplication
- NumPy - Element-wise Matrix Operations
- NumPy - Dot Product
- NumPy - Matrix Inversion
- NumPy - Determinant Calculation
- NumPy - Eigenvalues
- NumPy - Eigenvectors
- NumPy - Singular Value Decomposition
- NumPy - Solving Linear Equations
- NumPy - Matrix Norms
- NumPy Element-wise Matrix Operations
- NumPy - Sum
- NumPy - Mean
- NumPy - Median
- NumPy - Min
- NumPy - Max
- NumPy Set Operations
- NumPy - Unique Elements
- NumPy - Intersection
- NumPy - Union
- NumPy - Difference
- NumPy Random Number Generation
- NumPy - Random Generator
- NumPy - Permutations & Shuffling
- NumPy - Uniform distribution
- NumPy - Normal distribution
- NumPy - Binomial distribution
- NumPy - Poisson distribution
- NumPy - Exponential distribution
- NumPy - Rayleigh Distribution
- NumPy - Logistic Distribution
- NumPy - Pareto Distribution
- NumPy - Visualize Distributions With Sea born
- NumPy - Matplotlib
- NumPy - Multinomial Distribution
- NumPy - Chi Square Distribution
- NumPy - Zipf Distribution
- NumPy File Input & Output
- NumPy - I/O with NumPy
- NumPy - Reading Data from Files
- NumPy - Writing Data to Files
- NumPy - File Formats Supported
- NumPy Mathematical Functions
- NumPy - Mathematical Functions
- NumPy - Trigonometric functions
- NumPy - Exponential Functions
- NumPy - Logarithmic Functions
- NumPy - Hyperbolic functions
- NumPy - Rounding functions
- NumPy Fourier Transforms
- NumPy - Discrete Fourier Transform (DFT)
- NumPy - Fast Fourier Transform (FFT)
- NumPy - Inverse Fourier Transform
- NumPy - Fourier Series and Transforms
- NumPy - Signal Processing Applications
- NumPy - Convolution
- NumPy Polynomials
- NumPy - Polynomial Representation
- NumPy - Polynomial Operations
- NumPy - Finding Roots of Polynomials
- NumPy - Evaluating Polynomials
- NumPy Statistics
- NumPy - Statistical Functions
- NumPy - Descriptive Statistics
- NumPy Datetime
- NumPy - Basics of Date and Time
- NumPy - Representing Date & Time
- NumPy - Date & Time Arithmetic
- NumPy - Indexing with Datetime
- NumPy - Time Zone Handling
- NumPy - Time Series Analysis
- NumPy - Working with Time Deltas
- NumPy - Handling Leap Seconds
- NumPy - Vectorized Operations with Datetimes
- NumPy ufunc
- NumPy - ufunc Introduction
- NumPy - Creating Universal Functions (ufunc)
- NumPy - Arithmetic Universal Function (ufunc)
- NumPy - Rounding Decimal ufunc
- NumPy - Logarithmic Universal Function (ufunc)
- NumPy - Summation Universal Function (ufunc)
- NumPy - Product Universal Function (ufunc)
- NumPy - Difference Universal Function (ufunc)
- NumPy - Finding LCM with ufunc
- NumPy - ufunc Finding GCD
- NumPy - ufunc Trigonometric
- NumPy - Hyperbolic ufunc
- NumPy - Set Operations ufunc
- NumPy Useful Resources
- NumPy - Quick Guide
- NumPy - Cheatsheet
- NumPy - Useful Resources
- NumPy - Discussion
- NumPy Compiler
Numpy random.choice() Function
The Numpy random.choice() function generates a random sample from a given one-dimensional array or list. It allows sampling elements randomly, either with or without replacement, from the specified array or sequence. This function is commonly used in simulations, random data generation, and random sampling tasks.
The numpy.random.choice() function raises a ValueError, if the probability array p does not sum to 1.
Syntax
Following is the syntax of the Numpy random.choice() function −
numpy.random.choice(N, size=None, replace=True, p=None)
Parameters
Following are the parameters of the Numpy random.choice() function −
- N: 1D array-like or int. If an integer, it selects from range(N).
- size (optional): The output shape. If None, a single value is returned. If an integer, a 1D array is returned. If a tuple, a multidimensional array is returned.
- replace (optional): Boolean. If True (default), sample with replacement; if False, sample without replacement.
- p (optional): 1D array-like of probabilities associated with each element in N. If not provided, all elements are assumed to have equal probability.
Return Value
The function returns a random sample from the given 1D array or an integer value from range(N).
Example
Following is a basic example to randomly select a single element from a list using Numpy random.choice() −
import numpy as np array = [10, 20, 30, 40, 50] random_choice = np.random.choice(array) print("Random Choice:", random_choice)
Output
Following is the output of the above code −
Random Choice: 3
Example : Random Selection with Specified Size
Using the numpy.random.choice() function, we can also select multiple random elements by specifying the size parameter. It can be a single element or tuple. When we mention a size in a tuple, it will result multidimensional array.
Size as Integer value
In the following example, we have generated a numpy array with 3 random elements from the given array by assigning size to 3 in the numpy.random.choice() function −
import numpy as np array = [10, 20, 30, 40, 50] random_choices = np.random.choice(array, size=3) print("Random Choices:", random_choices)
Output
Following is the output of the above code −
Random Choices: [30 20 40]
Size as Tuple
Here, we have generated a 2D numpy array with random elements from the given array by assigning a tuple as a size in the numpy.random.choice() function −
import numpy as np array = [17, 42, 80, 79, 24] Numpy_Array= np.random.choice(array, size=(3,4)) print("Numpy Array - \n", Numpy_Array) print(type(Numpy_Array))
Output
Following is the output of the above code −
Numpy Array - [[42 79 79 17] [17 80 79 79] [42 24 79 79]] <class 'numpy.ndarray'>
Example : Selection Without Replacement
When we need a random NumPy array with all unique elements, we need to set the replace parameter to False.
In the following example, we have selected 4 unique random elements from the array by setting replace parameters to False −
import numpy as np array = [15, 82, 63, 54, 25] Numpy_Array = np.random.choice(array, size=3, replace=False) print("Numpy Array :", Numpy_Array) print(type(Numpy_Array))
Output
Following is the output of the above code −
Numpy Array : [15 82 54] <class 'numpy.ndarray'>
Example : Random Selection with Probabilities
We can control the occurence of each element in the array by specifying a probability distribution with the p parameter. The p parameter should be a 1D array of probabilities associated with each element in the input array.
In the following example, we have assigned higher probabilities to some elements using probability distribution −
import numpy as np array = [41, 82, 13, 24, 65] probabilities = [0.1, 0.2, 0.3, 0.2, 0.2] # Probabilities must sum to 1 Numpy_Array = np.random.choice(array, size=3, p=probabilities) print("Random Numpy Array with Probabilities :\n", Numpy_Array)
Output
Following is the output of the above code −
Random Numpy Array with Probabilities : [24 82 82]