Для центроида первого многоугольника MultiPolygon вы можете просто сделать
mp[0].centroid
Есть несколько способов применить это, например, сначала ограничить каждый MultiPolygon в вашем фрейме данных первым Polygon.
def keep_first(geo):
if geo.geom_type == 'Polygon':
return geo
elif geo.geom_type == 'MultiPolygon':
return geo[0]
df.geometry = df.geometry.apply(lambda _geo: keep_first(_geo))
df.centroid