def net_city_blocks_from_places(place_gdf):
    """
    Filter place gdf to retain net city_blocks and minimal columns.

    Parameters
    ----------
    gdf: GeoDataFrame

    Returns
    -------
    GeoDataFrame
    """

    # filter place polygons to retain only city blocks
    net_city_blocks = place_gdf.loc[place_gdf['place'] == 'city_block']
    
    # keep only two columns 'place' and 'geometry'
    net_city_blocks = net_city_blocks[['place','geometry']].copy()

    # change text city_block to net_city_block
    net_city_blocks["place"] = net_city_blocks['place'].str.replace('city_block', 'net_city_block')

    # name the dataframe - osmnx uses 'gdf_name' not sure if this is standard
    net_city_blocks.gdf_name = 'net_city_blocks'
    # write the index into a column
    net_city_blocks['city_block_id'] = net_city_blocks.index
    # name the index
    net_city_blocks.index.name='net_city_blocks_id'

    return net_city_blocks