Input data looks somewhat like this
import pandas as pd
df = pd.DataFrame({'users': ['John', 'Bob', 'Alice', 'John', 'Alice','Bob','Alice'],
'class': ['Economics','Economics','Economics','Maths','Maths','Physics','Physics']})
The random data should be generated such that class will not be replaced but users can be replaced.
random_df1 = pd.DataFrame({'users': ['John', 'Bob', 'Alice'],
'class': ['Economics','Maths','Physics']})
or
random_df2 = pd.DataFrame({'users': ['John', 'John', 'Bob'],
'class': ['Economics','Maths','Physics']})