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