In Chapter 11, Data Cleaning and Manipulation, we spent a considerable amount of time geocoding battles. Let's use the coordinates to pin battles on the map—perhaps this will give us some better understanding of the data.
For that, we'll use a special (and spatial) library: geopandas. As you can guess, geopandas is based on pandas and provides multiple geospatial methods. In essence, geopandas allows us to read geospatial data and work with it as a pandas dataframe, providing geospatial methods (adjacency, spatial inclusion, Boolean operations, and more) and plotting capabilities.
Before we start plotting, it would be nice to have some sort of a base map for our data, as a context. Here, we used an open dataset of modern country boundaries, ...