I have a df 10000 rows with user_id, id_sport, sport_name, user_choice, number_place_sport.
A user has 10 choices but he can only do one sport.
I want to distribute these users based on their choice AND on the number of places available (column nb_place).
import pandas as pd
df = pd.DataFrame({'User_id': ['User 1','User 1','User 1','User 1','User 1','User 1','User 1','User 1','User 1','User 1','User 2','User 2','User 2','User 2','User 2'],
'id_sport': [1618,1623,1619,1625,1624,1639,1686,1617,1685,1638,1646,1641,1626,1643,1676],
'sport_name': ['Fitness','Fitness Body Sculpt ','Fitness Step ','Fitness Body Sculpt ','Fitness Body Sculpt ','Modern Jazz ',' Yoga Hatha /\xa0Yoga Vinyasa\xa0','Fitness',' Yoga Hatha /\xa0Yoga Vinyasa\xa0','Modern Jazz ','Musculation Cardio ','Musculation Cardio ','Football ','Musculation Cardio ','Urban Soccer'],
'nb_place': [26, 35, 26, 35, 35, 26, 30, 26, 30, 35, 50, 50, 50, 50, 68]})
print (df)
Can you help me please.
here is an output I want:
df_resultat = pd.DataFrame({'id_sport': [1618,1618,1618,1618],
'sport_name': ['Fitness','Fitness','Fitness','Fitness'],
'User_id': ['User 1','User 5','User 7','User 10']})
print (df_resultat)