I am currently struggling to find the number of sides that intersect between two or more polygons in a layer, the layer contains around 2700 polygons. All polygons have a rectangular form, as it can be seen it in the following picture. The picture is a small part but everything looks more o less the same

I have tried using intersection function, but I don’t seem to have proper results, or at least the ones I expected.
In the picture there are numbers on some polygons (I put them there just to explain better), what I want to do is:
- For the polygon 1, I would have just one side that intersect with other polygons
- For the polygon 2, I would have 2 sides that intersects with other polygons
- For the polygon 3, applies the same as polygon 2
- For the polygon 4, I would have just one sides that intersects with other polygon
- For the polygon 5, applies the same as polygon 4
In other words:
Polygon Sides
1 1
2 2
3 2
4 1
5 1
Does anyone have an idea how to achieve this using GeoPandas or similar moduls?