import pandas as pd import numpy as np import geopandas as gpd import geoplot as gplt import matplotlib.pyplot as plt from geoplot import polyplot from pythainlp.tokenize import word_tokenize, syllable_tokenize Data structure name: target region name geometry: spatial column *: parent region name, e.g. in “district” dataset it would have a “province” column Dissolving dataset in case you have multiple region level in the same file ## assuming you have a district dataset and want to dissolve to province only district_filename = "FILE_PATH_HERE" gdf = gpd.read_file(district_filename) used_columns = ['province', 'district',] gdf = gdf.rename(columns={'prov_namt'.upper(): 'province', # change to dummy 'amp_namt'.upper():'district', }) gdf = gdf[used_columns+['geometry']] ## desired data 🛎🛎🛎 please do create a datasest with outermost region, so we can use it as boundary for visualization province = gdf.dissolve(by='province') province = province.reset_index()\ .rename(columns={'province': 'name'})\ .drop(columns='district') province .dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; } ...