{ "cells": [ { "cell_type": "markdown", "id": "76fa365c-b6d9-479f-99d8-d0d53ec30e8e", "metadata": {}, "source": [ "# REST API Examples\n", "\n", "In this notebook we explore searching for metadata from the REST API. The REST API provides a method to programmatically extract a JSON representation of the meta data from the API.\n", "\n", "First we load some python dependancies that we will use as part of this notebook and set the variable `API_URL` to the location of the REST API." ] }, { "cell_type": "code", "execution_count": 1, "id": "ebba03b7-34c4-4b49-94d8-112c7176ac7f", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import requests\n", "API_URL = \"https://mastapp.site/json\"" ] }, { "cell_type": "markdown", "id": "3408c42d", "metadata": {}, "source": [ "Below we print the location of the endpoint we will query in this notebook:" ] }, { "cell_type": "code", "execution_count": 2, "id": "ecbd2ced", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "REST API Endpoint: https://mastapp.site/json\n" ] } ], "source": [ "print(f\"REST API Endpoint: {API_URL}\")" ] }, { "cell_type": "markdown", "id": "ba8f861b-b74f-40d1-9df2-6b4f5b8f6edd", "metadata": {}, "source": [ "## Querying Shots with the REST API\n", "\n", "We're going to use the python `requests` library to query metadata from the database. All we need to do to get a result is to query the database with a HTTP GET at the appropriate endpoint. For example, to get information about different experimental shots we can query the `/json/shots/` endpoint." ] }, { "cell_type": "code", "execution_count": 3, "id": "a722af66-9731-4878-b2df-9c9ba7ac0be7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Query returned status code: 200\n" ] } ], "source": [ "response = requests.get(f'{API_URL}/shots')\n", "result = response.json()\n", "print(f\"Query returned status code: {response.status_code}\")" ] }, { "cell_type": "markdown", "id": "473e3069", "metadata": {}, "source": [ "The shots endpoint returns a JSON payload with a list of shots. Let's look at the first element from the payload:" ] }, { "cell_type": "code", "execution_count": 4, "id": "2611f771", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'shot_id': 15085,\n", " 'uuid': '0bb8ea1b-954b-5cce-8b2d-df40a0703b2f',\n", " 'url': 's3://mast/level1/shots/15085.zarr',\n", " 'timestamp': '2006-04-25T13:48:00',\n", " 'preshot_description': '\\nReplace ccbv connector. repeat.\\n',\n", " 'postshot_description': '\\nRadial control unchanged. Zip/FA jump less pronounced and earlier. 1st sawtooth new nearly as late as 15008.\\n',\n", " 'campaign': 'M6',\n", " 'reference_shot': 15084,\n", " 'scenario': None,\n", " 'heating': None,\n", " 'pellets': False,\n", " 'rmp_coil': None,\n", " 'current_range': None,\n", " 'divertor_config': 'Conventional',\n", " 'plasma_shape': None,\n", " 'comissioner': None,\n", " 'facility': 'MAST',\n", " 'cpf_p03249': None,\n", " 'cpf_p04673': None,\n", " 'cpf_p04674': None,\n", " 'cpf_p04675': None,\n", " 'cpf_p04676': None,\n", " 'cpf_p04677': None,\n", " 'cpf_p04678': None,\n", " 'cpf_p04679': None,\n", " 'cpf_p04680': None,\n", " 'cpf_p04681': None,\n", " 'cpf_p04833': None,\n", " 'cpf_p04993': None,\n", " 'cpf_p05007': None,\n", " 'cpf_p05008': None,\n", " 'cpf_p05009': None,\n", " 'cpf_p05010': None,\n", " 'cpf_p05011': None,\n", " 'cpf_p05015': None,\n", " 'cpf_p05016': None,\n", " 'cpf_p05017': None,\n", " 'cpf_p05025': None,\n", " 'cpf_p05027': None,\n", " 'cpf_p05028': None,\n", " 'cpf_p05029': None,\n", " 'cpf_p05030': None,\n", " 'cpf_p05032': None,\n", " 'cpf_p05033': None,\n", " 'cpf_p05153': None,\n", " 'cpf_p06000': None,\n", " 'cpf_p06001': None,\n", " 'cpf_p06002': None,\n", " 'cpf_p06003': None,\n", " 'cpf_p06004': None,\n", " 'cpf_p10963': None,\n", " 'cpf_p10964': None,\n", " 'cpf_p12441': None,\n", " 'cpf_p12450': None,\n", " 'cpf_p12451': None,\n", " 'cpf_p12452': None,\n", " 'cpf_p15202': None,\n", " 'cpf_p15203': None,\n", " 'cpf_p15209': None,\n", " 'cpf_p15659': None,\n", " 'cpf_p15660': None,\n", " 'cpf_p15661': None,\n", " 'cpf_p20000': None,\n", " 'cpf_p20204': None,\n", " 'cpf_p20205': None,\n", " 'cpf_p20206': None,\n", " 'cpf_p20207': None,\n", " 'cpf_p20208': None,\n", " 'cpf_p21010': None,\n", " 'cpf_p21011': None,\n", " 'cpf_p21012': None,\n", " 'cpf_p21021': None,\n", " 'cpf_p21022': None,\n", " 'cpf_p21029': None,\n", " 'cpf_p21035': None,\n", " 'cpf_p21037': None,\n", " 'cpf_p21041': None,\n", " 'cpf_p21042': None,\n", " 'cpf_p21043': None,\n", " 'cpf_p21044': None,\n", " 'cpf_p21045': None,\n", " 'cpf_p21046': None,\n", " 'cpf_p21047': None,\n", " 'cpf_p21048': None,\n", " 'cpf_p21051': None,\n", " 'cpf_p21052': None,\n", " 'cpf_p21053': None,\n", " 'cpf_p21054': None,\n", " 'cpf_p21055': None,\n", " 'cpf_p21056': None,\n", " 'cpf_p21075': None,\n", " 'cpf_p21076': None,\n", " 'cpf_p21077': None,\n", " 'cpf_p21078': None,\n", " 'cpf_p21079': None,\n", " 'cpf_p21080': None,\n", " 'cpf_p21081': None,\n", " 'cpf_p21082': None,\n", " 'cpf_p21083': None,\n", " 'cpf_p21084': None,\n", " 'cpf_p21085': None,\n", " 'cpf_p21086': None,\n", " 'cpf_p21087': None,\n", " 'cpf_p21088': None,\n", " 'cpf_p21089': None,\n", " 'cpf_p21092': None,\n", " 'cpf_p21093': None,\n", " 'cpf_abort': None,\n", " 'cpf_amin_ipmax': None,\n", " 'cpf_amin_max': None,\n", " 'cpf_amin_truby': None,\n", " 'cpf_area_ipmax': None,\n", " 'cpf_area_max': None,\n", " 'cpf_area_truby': None,\n", " 'cpf_bepmhd_ipmax': None,\n", " 'cpf_bepmhd_max': None,\n", " 'cpf_bepmhd_truby': None,\n", " 'cpf_betmhd_ipmax': None,\n", " 'cpf_betmhd_max': None,\n", " 'cpf_betmhd_truby': None,\n", " 'cpf_bt_ipmax': None,\n", " 'cpf_bt_max': None,\n", " 'cpf_bt_truby': None,\n", " 'cpf_c2ratio': None,\n", " 'cpf_column_temp_in': None,\n", " 'cpf_column_temp_out': None,\n", " 'cpf_creation': None,\n", " 'cpf_dwmhd_ipmax': None,\n", " 'cpf_dwmhd_max': None,\n", " 'cpf_dwmhd_truby': None,\n", " 'cpf_enbi_max_ss': None,\n", " 'cpf_enbi_max_sw': None,\n", " 'cpf_exp_date': None,\n", " 'cpf_exp_number': None,\n", " 'cpf_exp_time': None,\n", " 'cpf_gdc_duration': None,\n", " 'cpf_gdc_time': None,\n", " 'cpf_ibgas_pressure': None,\n", " 'cpf_ip_av': None,\n", " 'cpf_ip_max': None,\n", " 'cpf_jnbi_ipmax': None,\n", " 'cpf_jnbi_ipmax_ss': None,\n", " 'cpf_jnbi_ipmax_sw': None,\n", " 'cpf_jnbi_max': None,\n", " 'cpf_jnbi_max_ss': None,\n", " 'cpf_jnbi_max_sw': None,\n", " 'cpf_jnbi_total': None,\n", " 'cpf_jnbi_total_ss': None,\n", " 'cpf_jnbi_total_sw': None,\n", " 'cpf_jnbi_truby': None,\n", " 'cpf_jnbi_truby_ss': None,\n", " 'cpf_jnbi_truby_sw': None,\n", " 'cpf_johm_ipmax': None,\n", " 'cpf_johm_max': None,\n", " 'cpf_johm_total': None,\n", " 'cpf_johm_truby': None,\n", " 'cpf_kappa_ipmax': None,\n", " 'cpf_kappa_max': None,\n", " 'cpf_kappa_truby': None,\n", " 'cpf_li_2_ipmax': None,\n", " 'cpf_li_2_max': None,\n", " 'cpf_li_2_truby': None,\n", " 'cpf_li_3_ipmax': None,\n", " 'cpf_li_3_max': None,\n", " 'cpf_li_3_truby': None,\n", " 'cpf_log_base_pressure': None,\n", " 'cpf_ndl_co2_ipmax': None,\n", " 'cpf_ndl_co2_max': None,\n", " 'cpf_ndl_co2_truby': None,\n", " 'cpf_ne0_ipmax': None,\n", " 'cpf_ne0_max': None,\n", " 'cpf_ne0_truby': None,\n", " 'cpf_ne0ratio_ipmax': None,\n", " 'cpf_ne0ruby': None,\n", " 'cpf_ne_bar_ipmax': None,\n", " 'cpf_ne_yag_bar_ipmax': None,\n", " 'cpf_ngreenwald_ipmax': None,\n", " 'cpf_ngreenwaldratio_ipmax': None,\n", " 'cpf_o2ratio': None,\n", " 'cpf_objective': None,\n", " 'cpf_pe0_ipmax': None,\n", " 'cpf_pe0_max': None,\n", " 'cpf_pe0_truby': None,\n", " 'cpf_pe0ruby': None,\n", " 'cpf_pic': None,\n", " 'cpf_pnbi_ipmax': None,\n", " 'cpf_pnbi_ipmax_ss': None,\n", " 'cpf_pnbi_ipmax_sw': None,\n", " 'cpf_pnbi_max': None,\n", " 'cpf_pnbi_max_ss': None,\n", " 'cpf_pnbi_max_sw': None,\n", " 'cpf_pnbi_truby': None,\n", " 'cpf_pnbi_truby_ss': None,\n", " 'cpf_pnbi_truby_sw': None,\n", " 'cpf_pohm_ipmax': None,\n", " 'cpf_pohm_max': None,\n", " 'cpf_pohm_truby': None,\n", " 'cpf_postshot': None,\n", " 'cpf_prad_ipmax': None,\n", " 'cpf_prad_max': None,\n", " 'cpf_prad_truby': None,\n", " 'cpf_pradne2': None,\n", " 'cpf_preshot': None,\n", " 'cpf_program': None,\n", " 'cpf_pulno': None,\n", " 'cpf_q95_ipmax': None,\n", " 'cpf_q95_min': None,\n", " 'cpf_q95_truby': None,\n", " 'cpf_reference': None,\n", " 'cpf_rgeo_ipmax': None,\n", " 'cpf_rgeo_max': None,\n", " 'cpf_rgeo_truby': None,\n", " 'cpf_rinner_da': None,\n", " 'cpf_rinner_efit': None,\n", " 'cpf_rmag_efit': None,\n", " 'cpf_router_da': None,\n", " 'cpf_router_efit': None,\n", " 'cpf_sarea_ipmax': None,\n", " 'cpf_sarea_max': None,\n", " 'cpf_sarea_truby': None,\n", " 'cpf_sl': None,\n", " 'cpf_summary': None,\n", " 'cpf_tamin_max': None,\n", " 'cpf_tarea_max': None,\n", " 'cpf_tautot_ipmax': None,\n", " 'cpf_tautot_max': None,\n", " 'cpf_tautot_truby': None,\n", " 'cpf_tbepmhd_max': None,\n", " 'cpf_tbetmhd_max': None,\n", " 'cpf_tbt_max': None,\n", " 'cpf_tdwmhd_max': None,\n", " 'cpf_te0_ipmax': None,\n", " 'cpf_te0_max': None,\n", " 'cpf_te0_truby': None,\n", " 'cpf_te0ratio_ipmax': None,\n", " 'cpf_te0ruby': None,\n", " 'cpf_te_yag_bar_ipmax': None,\n", " 'cpf_tend': None,\n", " 'cpf_tend_ibgas': None,\n", " 'cpf_tend_nbi': None,\n", " 'cpf_tend_nbi_ss': None,\n", " 'cpf_tend_nbi_sw': None,\n", " 'cpf_term_code': None,\n", " 'cpf_tftend': None,\n", " 'cpf_tftstart': None,\n", " 'cpf_tipmax': None,\n", " 'cpf_tkappa_max': None,\n", " 'cpf_tli_2_max': None,\n", " 'cpf_tli_3_max': None,\n", " 'cpf_tndl_co2_max': None,\n", " 'cpf_tne0_max': None,\n", " 'cpf_tpe0_max': None,\n", " 'cpf_tpnbi_max': None,\n", " 'cpf_tpnbi_max_ss': None,\n", " 'cpf_tpnbi_max_sw': None,\n", " 'cpf_tpohm_max': None,\n", " 'cpf_tprad_max': None,\n", " 'cpf_tq95_min': None,\n", " 'cpf_trgeo_max': None,\n", " 'cpf_truby': None,\n", " 'cpf_tsarea_max': None,\n", " 'cpf_tstart': None,\n", " 'cpf_tstart_ibgas': None,\n", " 'cpf_tstart_nbi': None,\n", " 'cpf_tstart_nbi_ss': None,\n", " 'cpf_tstart_nbi_sw': None,\n", " 'cpf_ttautot_max': None,\n", " 'cpf_tte0_max': None,\n", " 'cpf_tvol_max': None,\n", " 'cpf_twmhd_max': None,\n", " 'cpf_tzeff_max': None,\n", " 'cpf_useful': None,\n", " 'cpf_vol_ipmax': None,\n", " 'cpf_vol_max': None,\n", " 'cpf_vol_truby': None,\n", " 'cpf_wmhd_ipmax': None,\n", " 'cpf_wmhd_max': None,\n", " 'cpf_wmhd_truby': None,\n", " 'cpf_zeff_ipmax': None,\n", " 'cpf_zeff_max': None,\n", " 'cpf_zeff_truby': None,\n", " 'cpf_zmag_efit': None}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "result['items'][0]" ] }, { "cell_type": "markdown", "id": "a7a8cfac", "metadata": {}, "source": [ "Each item in the list is a json object. This contains the meta-data items that corresponded to our query. In this case, each item contains information about a different MAST shot. Each item has lots of information about different shots, for example the shot ID, the campaign the shot was part of, the pre- and post-shot description by investigators.\n", "\n", "For more information on the what's returned by the API you can look at the endpoint documentation:\n", "\n", "https://mast-app.site/redoc\n" ] }, { "cell_type": "markdown", "id": "f19e602d", "metadata": {}, "source": [ "Of course, we can read all this JSON data directly into common python data analysis packages, for example, we can create a `pandas` dataframe directly from the endpoint data" ] }, { "cell_type": "code", "execution_count": 5, "id": "66c264c5", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | shot_id | \n", "uuid | \n", "url | \n", "timestamp | \n", "preshot_description | \n", "postshot_description | \n", "campaign | \n", "reference_shot | \n", "scenario | \n", "heating | \n", "... | \n", "cpf_vol_ipmax | \n", "cpf_vol_max | \n", "cpf_vol_truby | \n", "cpf_wmhd_ipmax | \n", "cpf_wmhd_max | \n", "cpf_wmhd_truby | \n", "cpf_zeff_ipmax | \n", "cpf_zeff_max | \n", "cpf_zeff_truby | \n", "cpf_zmag_efit | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "15085 | \n", "0bb8ea1b-954b-5cce-8b2d-df40a0703b2f | \n", "s3://mast/level1/shots/15085.zarr | \n", "2006-04-25T13:48:00 | \n", "\\nReplace ccbv connector. repeat.\\n | \n", "\\nRadial control unchanged. Zip/FA jump less ... | \n", "M6 | \n", "15084.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
1 | \n", "15086 | \n", "2ac3c2b7-0444-5f3b-86a9-38ef6bb3c160 | \n", "s3://mast/level1/shots/15086.zarr | \n", "2006-04-25T14:15:00 | \n", "\\nAdd another 5cm to Drref during the ramp. Re... | \n", "\\nEarly termination, at 180ms.\\n | \n", "M6 | \n", "15085.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
2 | \n", "15087 | \n", "9867930b-af84-5866-a62c-9fe77d9a3def | \n", "s3://mast/level1/shots/15087.zarr | \n", "2006-04-25T14:34:00 | \n", "\\nRepeat, with small change to IDIV.\\n | \n", "\\nEarly termination at 200ms.\\n | \n", "M6 | \n", "15086.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
3 | \n", "15088 | \n", "f3f7ffe4-bfd1-5b8d-8856-9d7e4377724b | \n", "s3://mast/level1/shots/15088.zarr | \n", "2006-04-25T14:52:00 | \n", "\\nRestore shot 15085.\\n | \n", "\\nOK.\\n | \n", "M6 | \n", "15085.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
4 | \n", "15089 | \n", "1adae615-46c4-5262-a49d-b25f707b0857 | \n", "s3://mast/level1/shots/15089.zarr | \n", "2006-04-25T15:17:00 | \n", "\\nRepeat, with IDIV, BV tweaked to match last ... | \n", "\\nTerminated early.\\n | \n", "M6 | \n", "15088.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
5 rows × 282 columns
\n", "\n", " | shot_id | \n", "uuid | \n", "url | \n", "timestamp | \n", "preshot_description | \n", "postshot_description | \n", "campaign | \n", "reference_shot | \n", "scenario | \n", "heating | \n", "... | \n", "cpf_vol_ipmax | \n", "cpf_vol_max | \n", "cpf_vol_truby | \n", "cpf_wmhd_ipmax | \n", "cpf_wmhd_max | \n", "cpf_wmhd_truby | \n", "cpf_zeff_ipmax | \n", "cpf_zeff_max | \n", "cpf_zeff_truby | \n", "cpf_zmag_efit | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "15085 | \n", "0bb8ea1b-954b-5cce-8b2d-df40a0703b2f | \n", "s3://mast/level1/shots/15085.zarr | \n", "2006-04-25T13:48:00 | \n", "\\nReplace ccbv connector. repeat.\\n | \n", "\\nRadial control unchanged. Zip/FA jump less ... | \n", "M6 | \n", "15084.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
1 | \n", "15086 | \n", "2ac3c2b7-0444-5f3b-86a9-38ef6bb3c160 | \n", "s3://mast/level1/shots/15086.zarr | \n", "2006-04-25T14:15:00 | \n", "\\nAdd another 5cm to Drref during the ramp. Re... | \n", "\\nEarly termination, at 180ms.\\n | \n", "M6 | \n", "15085.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
2 | \n", "15087 | \n", "9867930b-af84-5866-a62c-9fe77d9a3def | \n", "s3://mast/level1/shots/15087.zarr | \n", "2006-04-25T14:34:00 | \n", "\\nRepeat, with small change to IDIV.\\n | \n", "\\nEarly termination at 200ms.\\n | \n", "M6 | \n", "15086.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
3 | \n", "15088 | \n", "f3f7ffe4-bfd1-5b8d-8856-9d7e4377724b | \n", "s3://mast/level1/shots/15088.zarr | \n", "2006-04-25T14:52:00 | \n", "\\nRestore shot 15085.\\n | \n", "\\nOK.\\n | \n", "M6 | \n", "15085.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
4 | \n", "15089 | \n", "1adae615-46c4-5262-a49d-b25f707b0857 | \n", "s3://mast/level1/shots/15089.zarr | \n", "2006-04-25T15:17:00 | \n", "\\nRepeat, with IDIV, BV tweaked to match last ... | \n", "\\nTerminated early.\\n | \n", "M6 | \n", "15088.0 | \n", "None | \n", "None | \n", "... | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
5 rows × 282 columns
\n", "\n", " | shot_id | \n", "uuid | \n", "url | \n", "timestamp | \n", "preshot_description | \n", "postshot_description | \n", "campaign | \n", "reference_shot | \n", "scenario | \n", "heating | \n", "... | \n", "cpf_vol_ipmax | \n", "cpf_vol_max | \n", "cpf_vol_truby | \n", "cpf_wmhd_ipmax | \n", "cpf_wmhd_max | \n", "cpf_wmhd_truby | \n", "cpf_zeff_ipmax | \n", "cpf_zeff_max | \n", "cpf_zeff_truby | \n", "cpf_zmag_efit | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "30112 | \n", "eefe2467-69b0-5fe7-9863-e21289daa135 | \n", "s3://mast/level1/shots/30112.zarr | \n", "2013-09-09T11:42:00 | \n", "\\nReload 30110 - reduce IP flat top to 750 KA ... | \n", "\\nPIC happy with data.\\n | \n", "M9 | \n", "30110 | \n", "4 | \n", "SS Beam | \n", "... | \n", "7.845118 | \n", "8.841636 | \n", "0.0 | \n", "65898.305250 | \n", "82056.664 | \n", "0.0 | \n", "None | \n", "None | \n", "None | \n", "0.047497 | \n", "
1 | \n", "30113 | \n", "742c78fa-3811-5404-93b3-5ab419d330bd | \n", "s3://mast/level1/shots/30113.zarr | \n", "2013-09-09T12:00:00 | \n", "\\nRestore 30111\\n | \n", "\\nShot OK for programme. Two good beams. Big l... | \n", "M9 | \n", "30111 | \n", "3 | \n", "2 Beams,SS Beam,SW Beam | \n", "... | \n", "8.391672 | \n", "8.426641 | \n", "0.0 | \n", "43127.703046 | \n", "60260.926 | \n", "0.0 | \n", "None | \n", "None | \n", "None | \n", "0.042220 | \n", "
2 rows × 282 columns
\n", "