You can use the sample method*:

In [11]: df = pd.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], columns=["A", "B"])

In [12]: df.sample(2)
Out[12]:
   A  B
0  1  2
2  5  6

In [13]: df.sample(2)
Out[13]:
   A  B
3  7  8
0  1  2

*On one of the section DataFrames.

Note: If you have a larger sample size that the size of the DataFrame this will raise an error unless you sample with replacement.

In [14]: df.sample(5)
ValueError: Cannot take a larger sample than population when 'replace=False'

In [15]: df.sample(5, replace=True)
Out[15]:
   A  B
0  1  2
1  3  4
2  5  6
3  7  8
1  3  4
Answer from Andy Hayden on Stack Overflow
🌐
Pandas
pandas.pydata.org › docs › reference › api › pandas.DataFrame.sample.html
pandas.DataFrame.sample — pandas 3.0.5 documentation
>>> df.sample(frac=0.5, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8 · An upsample sample of the DataFrame with replacement: Note that replace parameter has to be True for frac parameter > 1.
🌐
GeeksforGeeks
geeksforgeeks.org › python › python-pandas-dataframe-sample
Pandas Dataframe.sample() | Python - GeeksforGeeks
July 11, 2025 - Pandas DataFrame.sample() function is used to select randomly rows or columns from a DataFrame. It proves particularly helpful while dealing with huge datasets where we want to test or analyze a small representative subset.
🌐
Vultr Docs
docs.vultr.com › python › third-party › pandas › DataFrame › sample
Python Pandas DataFrame sample() - Random Row or Column Selection | Vultr Docs
December 24, 2024 - Import the Pandas library and create a DataFrame. Use the sample() function to randomly select a specific number of rows.
🌐
Note.nkmk.me
note.nkmk.me › home › python › pandas
pandas: Random sampling from DataFrame with sample() | note.nkmk.me
May 22, 2022 - You can get a random sample from pandas.DataFrame and Series by the sample() method.
🌐
Pandas
pandas.pydata.org › pandas-docs › stable › reference › api › pandas.DataFrame.sample.html
pandas.DataFrame.sample — pandas 3.0.4 documentation
>>> df.sample(frac=0.5, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8 · An upsample sample of the DataFrame with replacement: Note that replace parameter has to be True for frac parameter > 1.
Find elsewhere
🌐
GeeksforGeeks
geeksforgeeks.org › python › how-to-randomly-select-rows-from-pandas-dataframe
Randomly Select Rows from Pandas DataFrame - GeeksforGeeks
October 3, 2025 - The sample() method allows specifying the number of rows, a fraction of rows, whether to sample with replacement, weights and reproducibility via random_state. Example: Below, we randomly select one row using sample(). Python ·
🌐
W3Schools
w3schools.com › python › pandas › ref_df_sample.asp
Pandas DataFrame sample() Method
Pandas HOME Pandas Intro Pandas Getting Started Pandas Series Pandas DataFrames Pandas Read CSV Pandas Read JSON Pandas Analyzing Data · Cleaning Data Cleaning Empty Cells Cleaning Wrong Format Cleaning Wrong Data Removing Duplicates ... Return one random sample row of the DataFrame.
🌐
Pythontic
pythontic.com › pandas › dataframe-manipulations › sample selection
Creating a random sample from a pandas DataFrame | Pythontic.com
The pandas DataFrame class provides the method sample() that returns a random sample from the DataFrame. drop-truncate · duplicates-and-missing-values · explode · head-tail · querying a dataframe · replace elements · Copyright 2026 © pythontic.com
🌐
Pandas
pandas.pydata.org › docs › dev › reference › api › pandas.DataFrame.sample.html
pandas.DataFrame.sample — pandas documentation
>>> df.sample(frac=0.5, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8 · An upsample sample of the DataFrame with replacement: Note that replace parameter has to be True for frac parameter > 1.
🌐
ProjectPro
projectpro.io › recipes › randomly-sample-pandas-dataframe
How to randomly sample a Pandas DataFrame? -
June 2, 2022 - We have created a dictionary of data and passed it in pd.DataFrame to make a dataframe with columns 'first_name', 'last_name', 'age', 'Comedy_Score' and 'Rating_Score'. raw_data = {'first_name': ['Sheldon', 'Raj', 'Leonard', 'Howard', 'Amy'], 'last_name': ['Copper', 'Koothrappali', 'Hofstadter', 'Wolowitz', 'Fowler'], 'age': [42, 38, 36, 41, 35], 'Comedy_Score': [9, 7, 8, 8, 5], 'Rating_Score': [25, 25, 49, 62, 70]} df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'Comedy_Score', 'Rating_Score']) print(df) We can select random subsets of rows by df.take and passing random permutation of number from the length of df. We have done this twice for 2 and 4 samples to select.
🌐
pandas
pandas.pydata.org › pandas-docs › dev › reference › api › pandas.DataFrame.sample.html
pandas.DataFrame.sample — pandas 3.1.0.dev0+974.ge652ee88a5 documentation
>>> df.sample(frac=0.5, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8 · An upsample sample of the DataFrame with replacement: Note that replace parameter has to be True for frac parameter > 1.
🌐
Ryan Nolan Data
ryanandmattdatascience.com › home › python pandas › pandas sample
Pandas sample(): Random Sampling Made Simple in Python
June 15, 2025 - Learn how to use pandas sample() to randomly select rows from a DataFrame. Includes examples for sampling with/without replacement and setting random state.
🌐
Data Science Parichay
datascienceparichay.com › home › blog › pandas – random sample of rows
Pandas - Random Sample of Rows - Data Science Parichay
October 22, 2020 - The pandas dataframe sample() function can be used to randomly sample rows from a pandas dataframe. It can sample rows based on a count or a fraction and provides the flexibility of optionally sampling rows with replacement.
🌐
Saturn Cloud
saturncloud.io › blog › random-row-selection-in-pandas-dataframe
Random Row Selection in Pandas Dataframe | Saturn Cloud Blog
May 1, 2026 - This method involves generating a random array of indices and then using the iloc method to select the corresponding rows from the dataframe. ... import pandas as pd import numpy as np # Load a sample dataframe df = pd.read_csv('data.csv') # ...
🌐
Plain English
python.plainenglish.io › data-sampling-using-pandas-a-guide-to-beginners-1c0e107b2810
Data Sampling Using Pandas! A Guide to Beginners! | by AI TutorMaster | Python in Plain English
June 15, 2023 - import pandas as pd df = pd.DataFrame({'col1': [1, 2, 3, 4, 5], 'col2': [6, 7, 8, 9, 10]}) # generate a random sample of size 3 from the dataframe df.sample(n=3, random_state=42) ... New Python content every day.
🌐
Codegive
codegive.com › blog › pandas_random_sample.php
Pandas Random Sample: Unlock Powerful Insights & Build Robust Models (2024) with Smarter Data Selection!
At its core, it randomly selects n rows (or columns) or a fraction of the total rows (or columns) from your data. This process is crucial for creating subsets that can be used for testing, validation, or to reduce the computational load of working with very large datasets. The general syntax for DataFrame.sample() is: