Skip to content

Instantly share code, notes, and snippets.

@upperwal
Last active March 19, 2020 07:05
Show Gist options
  • Save upperwal/93721d2debb5c7cd033d393cbad688b8 to your computer and use it in GitHub Desktop.
Save upperwal/93721d2debb5c7cd033d393cbad688b8 to your computer and use it in GitHub Desktop.
-       1            2            3           4               5                 6                 7                   8               9           10          11             
-  -----------  -----------  -----------  -----------  ---------------  ----------------  ------------------  ----------------  ---------  ----------  -----------
0  Chennai      Guwahati     Pune         New Delhi    Visakhapatnam    Bhopal            Ahmedabad           Indore            Ludhiana   Coimbatore  Belagaavi
1  Lucknow      Warangal     Dharamasala  Agartala     Raipur           New Town Kolkata  Ranchi              Panaji            Imphal     Chandigarh  Port Blair
2  Kanpur       Ajmer        Salem        Aurangabad   Rourkela         Kota              Hubli-Dharwad       Kalyan            Thanjavur  Tumakuru    Vellore
3  Tirunelveli  Naya Raipur  Prayagraj    Bangalore    Thoothukudi      Puducherry        Shimla              Pimpri Chinchwad  Karnal     Satna       Gandhinagar
4  Shillong     Kavaratti    Silvassa     Itanagar     Moradabad        Bihar Sharif      Bhubaneswar         Saharanpur        Erode      Bareilly    Diu
5  Bhagalpur    Jabalpur     Jaipur       Udaipur      Faridabad        Kochi             Kohima              Solapur           Surat      Davangere   Kakinada
6  Gwalior      Vadodara     Nagpur       Thane        Namchi           Nashik            Shimoga             Jalandhar         Tirupati   Dehradun    Varanasi
7  Madurai      Rajkot       Aligarh      Muzaffarpur  Dahod            Aizawl            Thiruvananthapuram  Amravati          Sagar      Jhansi      Gangtok
8  Ujjain       Bilaspur     Mangalore    Agra         Tiruchirappalli  Jammu             Pasighat            Karimnagar        Amritsar   Patna       Tiruppur
9               Srinagar
-  -----------  -----------  -----------  -----------  ---------------  ----------------  ------------------  ----------------  ---------  ----------  -----------
import json
import numpy as np
import pandas as pd
from tabulate import tabulate

def allocate():
    with open('city.json', 'r') as f:
        data = json.load(f)

        cities_list = []
        for k, v in data.items():
            cities_list.append(np.random.permutation(v).tolist())
        
        #print(cities_list)
        group_list = []
        while len(group_list) < 100:
            for i, c in enumerate(cities_list):
                if len(c) > 10:
                    group_list = group_list + c[:11]
                    cities_list[i] = c[11:]
                else:
                    group_list = group_list + c[:]
                    cities_list[i] = []
                    #print(group_list)
        
        final = []
        for i in range(0, 99, 11):
            #print(np.random.permutation(group_list[i:i+11]).tolist())
            print(i)
            final.append(np.random.permutation(group_list[i:i+11]).tolist())
        final.append([""]*11)
        
        pd_data = pd.DataFrame(final, columns=range(1, 12))
        pd_data.iloc[9, np.random.randint(0,2)] = group_list[99]
        
        return pd_data


if '__main__' == __name__:
    print(tabulate(allocate(), tablefmt="text"))
{
    "round1": [
        "Bhubaneswar",
        "Pune",
        "Jaipur",
        "Surat",
        "Kochi",
        "Ahmedabad",
        "Jabalpur",
        "Visakhapatnam",
        "Solapur",
        "Davangere",
        "Indore",
        "New Delhi",
        "Coimbatore",
        "Kakinada",
        "Belagaavi",
        "Udaipur",
        "Guwahati",
        "Chennai",
        "Ludhiana",
        "Bhopal"
    ],
    "round2": [
        "Lucknow",
        "Bhagalpur",
        "Faridabad",
        "Chandigarh",
        "Raipur",
        "Ranchi",
        "Dharamasala",
        "Warangal",
        "Panaji",
        "Agartala",
        "Imphal",
        "Port Blair",
        "New Town Kolkata"
    ],
    "round3": [
        "Amritsar",
        "Kalyan",
        "Ujjain",
        "Tirupati",
        "Nagpur",
        "Mangalore",
        "Vellore",
        "Thane",
        "Gwalior",
        "Agra",
        "Nashik",
        "Rourkela",
        "Kanpur",
        "Madurai",
        "Tumakuru",
        "Kota",
        "Thanjavur",
        "Namchi",
        "Jalandhar",
        "Shimoga",
        "Salem",
        "Ajmer",
        "Varanasi",
        "Kohima",
        "Hubli-Dharwad",
        "Aurangabad",
        "Vadodara"
    ],
    "round4": [
        "Thiruvananthapuram",
        "Naya Raipur",
        "Rajkot",
        "Amravati",
        "Patna",
        "Karimnagar",
        "Muzaffarpur",
        "Puducherry",
        "Gandhinagar",
        "Srinagar",
        "Sagar",
        "Karnal",
        "Satna",
        "Bangalore",
        "Shimla",
        "Dehradun",
        "Jhansi",
        "Pimpri Chinchwad",
        "Bilaspur",
        "Pasighat",
        "Jammu",
        "Dahod",
        "Thoothukudi",
        "Tiruchirappalli",
        "Tirunelveli",
        "Tiruppur",
        "Aizawl",
        "Prayagraj",
        "Aligarh",
        "Gangtok"
    ],
    "round5": [
        "Erode",
        "Saharanpur",
        "Moradabad",
        "Bareilly",
        "Itanagar",
        "Silvassa",
        "Diu",
        "Kavaratti",
        "Bihar Sharif",
        "Shillong"
    ]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment