def assign_county(point, counties):
    """Assign a single point to its county."""
    try:
        match = next(
            county['NAME'] for _, county in counties.iterrows()
            if point.intersects(county['geometry'])
        )
    except StopIteration:
        match = None

    return match