Q:

Plotting a heat map onto background in python using kde?

I have a geodataframe with points within the united states. Each point has a geometry attribute as well as a value. I would like to plot a heat map based on these values on top the map of the united states using kdeplot. However, I'm not sure how gplt.kdeplot reads these data frames?
contiguous_usa = gpd.read_file(gplt.datasets.get_path('contiguous_usa'))
geometry = [Point(xy) for xy in zip(df.Lat, df.Long)]
crs = {'init': 'epsg:4326'}
gdf = GeoDataFrame(df["Gain1"], crs=crs, geometry=geometry)

ax = geoplot.kdeplot(
    gdf, clip=contiguous_usa.geometry,
    shade=True, cmap='Reds',
    projection=geoplot.crs.AlbersEqualArea())
geoplot.polyplot(contiguous_usa, ax=ax, zorder=1)

First five rows of my geodataframe looks something like this, column "Gain1" are the values I want to use for the heatmap. 

A:

gplt.kdeplot do not uses the value column for each point, but you can select the column row values of the GeoDataFrame for that as in KDEPlot of two NYC traffic accident contributing factors (qualitative values)
For quantitative values, I use one of my shapefiles
1)  With all the values of a column (quantitative values DIP from 0 to 90)
gplt.pointplot(df, projection=gcrs.AlbersEqualArea(), hue='DIP', legend=True)

gplt.kdeplot(df,projection=gcrs.AlbersEqualArea(), cmap='Reds', shade=True, shade_lowest=True)

ax = gplt.kdeplot(df,projection=gcrs.AlbersEqualArea(), cmap='Reds')
gplt.pointplot(df, hue='DIP', legend=True, ax=ax)

2) analyze only DIP values > 75
ax= gplt.pointplot(df[df['DIP'] > 75], projection=gcrs.AlbersEqualArea(), hue='DIP', legend=True)
gplt.kdeplot(df[df['DIP'] > 75],cmap = 'Reds',ax=ax)

or only DIP values = 75
 gplt.kdeplot(df[df['DIP'] == 75],cmap = 'Reds',projection=gcrs.AlbersEqualArea(),shade=True, shade_lowest=False)

