If the Location column has always the same pattern, you can use :
out = pd.DataFrame([[np.nan] * (2 - e.count(",")) + e.split(",")
                    for e in df["Location"]], columns=["City", "State", "Country"])
Output :
print(out)
        City       State Country
0  Bengaluru   Karnataka   India
1        NaN       Delhi   India
2        NaN         NaN   India