is a pandas.DataFrame that has a column with geometry

A GeoDataFrame is a tabular data structure that contains a GeoSeries.

The most important property of a GeoDataFrame is that it always has one GeoSeries column that holds a special status. This GeoSeries is referred to as the GeoDataFrame’s "geometry". When a spatial method is applied to a GeoDataFrame (or a spatial attribute like area is called), this commands will always act on the "geometry" column.

An example of constructing a GeoDataFrame from a dictionary

>>> import geopandas as gpd
>>> from shapely.geometry import Point
>>> d = {'col1': ['name1', 'name2'], 'geometry': [Point(1,2), Point(2,1)]}
>>> gdf = gpd.GeoDataFrame(d, crs="EPSG:4326")
>>> gdf
    col1                 geometry
0  name1  POINT (1.00000 2.00000)
1  name2  POINT (2.00000 1.00000)

References: