w3resource

Pandas: Select random number of rows, fraction of random rows

Pandas Filter: Exercise-3 with Solution

Write a Pandas program to select random number of rows, fraction of random rows from World alcohol consumption dataset.

Test Data:

   Year       WHO region                Country Beverage Types  Display Value
0  1986  Western Pacific               Viet Nam           Wine           0.00
1  1986         Americas                Uruguay          Other           0.50
2  1985           Africa           Cte d'Ivoire           Wine           1.62
3  1986         Americas               Colombia           Beer           4.27
4  1987         Americas  Saint Kitts and Nevis           Beer           1.98   

Sample Solution:

Python Code :

import pandas as pd
# World alcohol consumption data
w_a_con = pd.read_csv('world_alcohol.csv')
print("World alcohol consumption sample data:")
print(w_a_con.head())
print("\nSelect random number of rows:")
print(w_a_con.sample(5))
print("\nSelect fraction of randome rows:")
print(w_a_con.sample(frac=0.02))

Sample Output:

World alcohol consumption sample data:
   Year       WHO region      ...      Beverage Types Display Value
0  1986  Western Pacific      ...                Wine          0.00
1  1986         Americas      ...               Other          0.50
2  1985           Africa      ...                Wine          1.62
3  1986         Americas      ...                Beer          4.27
4  1987         Americas      ...                Beer          1.98

[5 rows x 5 columns]

Select random number of rows:
    Year             WHO region      ...      Beverage Types Display Value
65  1989  Eastern Mediterranean      ...                Beer          0.00
81  1985                 Europe      ...                Wine          2.54
36  1987  Eastern Mediterranean      ...                Beer          0.07
0   1986        Western Pacific      ...                Wine          0.00
77  1985                 Africa      ...             Spirits          0.01

[5 rows x 5 columns]

Select fraction of randome rows:
    Year             WHO region      ...      Beverage Types Display Value
80  1985                 Africa      ...               Other          0.84
65  1989  Eastern Mediterranean      ...                Beer          0.00

[2 rows x 5 columns]

Click to download world_alcohol.csv

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous:Write a Pandas program to select first 2 rows, 2 columns and specific two columns from World alcohol consumption dataset.
Next: Write a Pandas program to find and drop the missing values from World alcohol consumption dataset.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Merging two dicts in Python 3.5+ with a single expression

Example:

# How to merge two dictionaries
# in Python 3.5+

x = {'p': 1, 'q': 3}
y = {'q': 5, 'r': 8}

z = {**x, **y}

z
{'r': 4, 'p': 1, 'q': 3}

z = dict(x, **y)
print(z)

Output:

{'p': 1, 'q': 5, 'r': 8}