Explore your data

Visualize your local data (even without a CARTO account) or hosted datasets straight out of Jupyter notebooks.

from cartoframes.auth import set_default_credentials
from cartoframes.data.services import Geocoding
from cartoframes.viz import Map, Layer, size_continuous_style
import pandas as pd

set_default_credentials('creds.json')

stores_df = pd.read_csv('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn.csv')
stores_gdf, _ = Geocoding().geocode(stores_df, street='address')
Map(Layer(stores_gdf, size_continuous_style('revenue', size_range=[10,40]), title='Annual Revenue ($)'))
cartoframes interactive visualizations

Enrich your data

Access a wide range of datasets from around the globe—all on standardized spatial aggregations to reduce your time to insight.

Location Data Streams
from cartoframes.data.services import Isolines

aoi_gdf, _ = Isolines().isochrones(stores_gdf, [15*60], mode='walk')

Map([
    Layer(aoi_gdf),
    Layer(stores_gdf,
    size_continuous_style('revenue', size_range=[10,40]),
    title='Annual Revenue ($)')
])
cartoframes data enrichment

Analyze your data

Get insights from your data using our API and interact with CARTO using your own libraries, functions, and workflows.

from cartoframes.data.observatory import Catalog, Dataset, Enrichment
from cartoframes.viz import color_continuous_style

datasets_df = Catalog().country('usa').category('demographics').datasets.to_dataframe()
dataset = Dataset.get('acs_sociodemogr_b758e778')
variables_df = dataset.variables.to_dataframe()
variables_df[variables_df['description'].str.contains('total population', case=False, na=False)]

aoi_enriched_gdf = Enrichment().enrich_polygons(aoi_gdf, ['total_pop_3cf008b3'])

Map([
  Layer(aoi_enriched_gdf, color_continuous_style('total_pop'), title='Total Population'),
  Layer(stores_gdf, size_continuous_style('revenue', size_range=[10,40]), title='Annual Revenue ($)') 
])
cartoframes Analyze data

Upload and share your maps

Once your analysis is done, add some pre-defined widgets and share the results—empowering business teams to act straight away.

result_map = Map([
  Layer(aoi_enriched_gdf,
        color_continuous_style('total_pop', stroke_width=0, opacity=0.7),
        title='Total Population',
        default_widget=True),
  Layer(stores_gdf,
        size_continuous_style('revenue', size_range=[10,40], stroke_color='white'),
        title='Annual Revenue ($)',
        default_widget=True) 
])

result_map.publish('landing_analysis', password=None, if_exists='replace')
cartoframes Upload map
  • Explore your data

    Visualize your local data (even without a CARTO account) or hosted datasets straight out of Jupyter notebooks.

  • Get your data ready

    Use Location Data Services to convert plain text to geometries (geocoding), create areas of influence within a specific distance or travel time (isolines), and more.

  • Enrich your data

    Access a wide range of datasets from around the globe—all on standardized spatial aggregations to reduce your time to insight.

    Location Data Streams
  • Publish and share

    Once your analysis is done, add some pre-defined widgets and share the results—empowering business teams to act straight away.

CARTOframes 1.0

We've released 1.0, the latest version of CARTOframes, packed with functionality to speed up your spatial analysis.