{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Importing the libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from pandasdmx import Request" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from bokeh.io import output_notebook, show\n", "from bokeh.plotting import figure\n", "from bokeh.models import ColumnDataSource, LabelSet" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(global) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof (window._bokeh_onload_callbacks) === \"undefined\" || force === true) {\n", " window._bokeh_onload_callbacks = [];\n", " window._bokeh_is_loading = undefined;\n", " }\n", "\n", "\n", " \n", " if (typeof (window._bokeh_timeout) === \"undefined\" || force === true) {\n", " window._bokeh_timeout = Date.now() + 5000;\n", " window._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " if (window.Bokeh !== undefined) {\n", " var el = document.getElementById(\"816d6bd2-e9ec-4c0c-98c0-6da849ff6fdb\");\n", " el.textContent = \"BokehJS \" + Bokeh.version + \" successfully loaded.\";\n", " } else if (Date.now() < window._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", " function run_callbacks() {\n", " window._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n", " delete window._bokeh_onload_callbacks\n", " console.info(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(js_urls, callback) {\n", " window._bokeh_onload_callbacks.push(callback);\n", " if (window._bokeh_is_loading > 0) {\n", " console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " window._bokeh_is_loading = js_urls.length;\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var s = document.createElement('script');\n", " s.src = url;\n", " s.async = false;\n", " s.onreadystatechange = s.onload = function() {\n", " window._bokeh_is_loading--;\n", " if (window._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: all BokehJS libraries loaded\");\n", " run_callbacks()\n", " }\n", " };\n", " s.onerror = function() {\n", " console.warn(\"failed to load library \" + url);\n", " };\n", " console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.getElementsByTagName(\"head\")[0].appendChild(s);\n", " }\n", " };var element = document.getElementById(\"816d6bd2-e9ec-4c0c-98c0-6da849ff6fdb\");\n", " if (element == null) {\n", " console.log(\"Bokeh: ERROR: autoload.js configured with elementid '816d6bd2-e9ec-4c0c-98c0-6da849ff6fdb' but no matching script tag was found. \")\n", " return false;\n", " }\n", "\n", " var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.5.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.5.min.js\"];\n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " \n", " function(Bokeh) {\n", " \n", " },\n", " \n", " function(Bokeh) {\n", " \n", " document.getElementById(\"816d6bd2-e9ec-4c0c-98c0-6da849ff6fdb\").textContent = \"BokehJS is loading...\";\n", " },\n", " function(Bokeh) {\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-0.12.5.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.5.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.5.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.5.min.css\");\n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if ((window.Bokeh !== undefined) || (force === true)) {\n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i](window.Bokeh);\n", " }if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < window._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!window._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " window._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " var cell = $(document.getElementById(\"816d6bd2-e9ec-4c0c-98c0-6da849ff6fdb\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (window._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(js_urls, function() {\n", " console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(this));" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "output_notebook()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Connecting to the webservice" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "estat = Request('ESTAT')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Downloading dataflow definitions" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dflow = estat.dataflow()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Defining functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data structure" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def dsd_resp(id):\n", " \"\"\"\n", " The function takes a dataflow identifier and requests from the Eurostat SDMX api the dataflow's datastructure, datastructure id and datastructure response.\n", " \"\"\" \n", " # Defining the data set's dataflow based on the data set id.\n", " df = dflow.dataflow[id]\n", " \n", " # Printing the table's name\n", " print(\"The table's name:\")\n", " print(dflow.write().dataflow.loc[id][0])\n", " \n", " # Acquiring the dataflow's datastructure id\n", " dsd_id = df.structure.id\n", " \n", " # Requesting for the dataflow's datastructure\n", " dsd_resp = estat.get(resource_type = 'datastructure', resource_id = dsd_id)\n", " \n", " # Requesting the dataflow's datastructure\n", " dsd = dsd_resp.datastructure[dsd_id]\n", " \n", " return dsd_resp, dsd_id, dsd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Datastructure attributes" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def dsd_att(dsd):\n", " \"\"\"The function takes a table datastructure definition and prints its measure, dimension and attribute lists.\"\"\"\n", " # Measures\n", " print(\"Measures:\")\n", " print(dsd.measures.aslist())\n", " \n", " # Dimensions\n", " print(\"\\nDimensions:\")\n", " print(dsd.dimensions.aslist())\n", " \n", " # Attributes\n", " print(\"\\nAttributes:\")\n", " print(dsd.attributes.aslist())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Selecting the tables" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Listing the tables from the 'High-tech industry and knowledge-intensive services (**htec**)' database" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
name
dataflow
htec_cis3Innovation in high-tech sectors in SMEs (CIS3)...
htec_cis4Innovation in high-tech sectors (CIS 2004), EU...
htec_cis5Innovation in high-tech sectors (CIS 2006), EU...
htec_cis6Innovation in high-tech sectors (CIS 2008, CIS...
htec_eco_entEnterprises in high-tech sectors by NACE Rev.1...
htec_eco_ent2Enterprises in high-tech sectors by NACE Rev.2...
htec_eco_sbsEconomic data in high-tech sectors by NACE Rev...
htec_eco_sbs2Economic data in high-tech sectors by NACE Rev...
htec_emp_natEmployment in technology and knowledge-intensi...
htec_emp_nat2Employment in technology and knowledge-intensi...
htec_emp_niscedEmployment in technology and knowledge-intensi...
htec_emp_nisced2Employment in technology and knowledge-intensi...
htec_emp_niscoEmployment in technology and knowledge-intensi...
htec_emp_nisco2Employment in technology and knowledge-intensi...
htec_emp_regEmployment in technology and knowledge-intensi...
htec_emp_reg2Employment in technology and knowledge-intensi...
htec_emp_riscedEmployment in technology and knowledge-intensi...
htec_emp_risced2Employment in technology and knowledge-intensi...
htec_emp_riscoEmployment in technology and knowledge-intensi...
htec_emp_risco2Employment in technology and knowledge-intensi...
htec_emp_sbsEmployment statistics on high-tech industries ...
htec_emp_sbs2Employment statistics on high-tech industries ...
htec_kia_empAnnual data on employment in knowledge-intensi...
htec_kia_emp2Annual data on employment in knowledge-intensi...
htec_si_exp4High-tech exports - Exports of high technology...
htec_sti_expBusiness enterprise R&D expenditure in high-te...
htec_sti_exp2Business enterprise R&D expenditure in high-te...
htec_sti_persBusiness enterprise R&D personnel in high-tech...
htec_sti_pers2Business enterprise R&D personnel in high-tech...
htec_trd_group4High-tech trade by high-tech group of products...
htec_trd_tot4Total high-tech trade in million euro and as a...
htec_vci_stage1Venture capital investment by aggregated stage...
htec_vci_stage2Venture capital investment by detailed stage o...
\n", "
" ], "text/plain": [ " name\n", "dataflow \n", "htec_cis3 Innovation in high-tech sectors in SMEs (CIS3)...\n", "htec_cis4 Innovation in high-tech sectors (CIS 2004), EU...\n", "htec_cis5 Innovation in high-tech sectors (CIS 2006), EU...\n", "htec_cis6 Innovation in high-tech sectors (CIS 2008, CIS...\n", "htec_eco_ent Enterprises in high-tech sectors by NACE Rev.1...\n", "htec_eco_ent2 Enterprises in high-tech sectors by NACE Rev.2...\n", "htec_eco_sbs Economic data in high-tech sectors by NACE Rev...\n", "htec_eco_sbs2 Economic data in high-tech sectors by NACE Rev...\n", "htec_emp_nat Employment in technology and knowledge-intensi...\n", "htec_emp_nat2 Employment in technology and knowledge-intensi...\n", "htec_emp_nisced Employment in technology and knowledge-intensi...\n", "htec_emp_nisced2 Employment in technology and knowledge-intensi...\n", "htec_emp_nisco Employment in technology and knowledge-intensi...\n", "htec_emp_nisco2 Employment in technology and knowledge-intensi...\n", "htec_emp_reg Employment in technology and knowledge-intensi...\n", "htec_emp_reg2 Employment in technology and knowledge-intensi...\n", "htec_emp_risced Employment in technology and knowledge-intensi...\n", "htec_emp_risced2 Employment in technology and knowledge-intensi...\n", "htec_emp_risco Employment in technology and knowledge-intensi...\n", "htec_emp_risco2 Employment in technology and knowledge-intensi...\n", "htec_emp_sbs Employment statistics on high-tech industries ...\n", "htec_emp_sbs2 Employment statistics on high-tech industries ...\n", "htec_kia_emp Annual data on employment in knowledge-intensi...\n", "htec_kia_emp2 Annual data on employment in knowledge-intensi...\n", "htec_si_exp4 High-tech exports - Exports of high technology...\n", "htec_sti_exp Business enterprise R&D expenditure in high-te...\n", "htec_sti_exp2 Business enterprise R&D expenditure in high-te...\n", "htec_sti_pers Business enterprise R&D personnel in high-tech...\n", "htec_sti_pers2 Business enterprise R&D personnel in high-tech...\n", "htec_trd_group4 High-tech trade by high-tech group of products...\n", "htec_trd_tot4 Total high-tech trade in million euro and as a...\n", "htec_vci_stage1 Venture capital investment by aggregated stage...\n", "htec_vci_stage2 Venture capital investment by detailed stage o..." ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflow.write().dataflow[dflow.write().dataflow.index.str.startswith('htec') == True]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The tables I am going to analyze" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "id1 = 'htec_sti_exp2'" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Business enterprise R&D expenditure in high-tech sectors - NACE Rev. 2'" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflow.write().dataflow.loc[id1][0]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "id2 = 'htec_vci_stage2'" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "'Venture capital investment by detailed stage of development (from 2007, source: EVCA)'" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflow.write().dataflow.loc[id2][0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Venture capital data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Getting the table's dataflow definition and datastructure" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The table's name:\n", "Venture capital investment by detailed stage of development (from 2007, source: EVCA)\n" ] } ], "source": [ "dsd_resp2, dsd_id2, dsd2 = dsd_resp(id2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Downloading the table's datastructure definition" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Measures:\n", "[PrimaryMeasure | OBS_VALUE]\n", "\n", "Dimensions:\n", "[Dimension | FREQ, Dimension | EXPEND, Dimension | UNIT, Dimension | GEO, TimeDimension | TIME_PERIOD]\n", "\n", "Attributes:\n", "[DataAttribute | OBS_FLAG, DataAttribute | OBS_STATUS]\n" ] } ], "source": [ "dsd_att(dsd2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Codelist:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dim_or_attrname
FREQFREQDFREQ
ADAnnual
DDDaily
HDHalf-year
MDMonthly
QDQuarterly
SDSemi-annual
WDWeekly
EXPENDEXPENDDEXPEND
INVDInvestment
INV_BUYDInvestment for buyout
INV_GROWDInvestment in growth stage
INV_REPLDInvestment for replacement
INV_RESCDInvestment for rescue/turnaround
INV_VENDVenture capital investment (seed, start-up and...
INV_VEN_LATEDInvestment in later stage
INV_VEN_SEEDDInvestment in seed stage
INV_VEN_STARDInvestment in start-up stage
UNITUNITDUNIT
MIO_EURDMillion euro
NR_COMPDNumber of companies
PC_GDPDPercentage of gross domestic product (GDP)
GEOGEODGEO
ATDAustria
BEDBelgium
BGDBulgaria
CHDSwitzerland
CZDCzech Republic
DEDGermany (until 1990 former territory of the FRG)
DKDDenmark
.........
FIDFinland
FRDFrance
HUDHungary
IEDIreland
ITDItaly
LUDLuxembourg
NLDNetherlands
NODNorway
PLDPoland
PTDPortugal
RODRomania
SEDSweden
UKDUnited Kingdom
OBS_FLAGOBS_FLAGAObservation flag.
bAbreak in time series
cAconfidential
dAdefinition differs, see metadata
eAestimated
fAforecast
iAsee metadata (phased out)
nAnot significant
pAprovisional
rArevised
sAEurostat estimate (phased out)
uAlow reliability
zAnot applicable
OBS_STATUSOBS_STATUSAObservation status.
-Anot applicable or real zero or zero by default
0Aless than half of the unit used
naAnot available
\n", "

63 rows × 2 columns

\n", "
" ], "text/plain": [ " dim_or_attr \\\n", "FREQ FREQ D \n", " A D \n", " D D \n", " H D \n", " M D \n", " Q D \n", " S D \n", " W D \n", "EXPEND EXPEND D \n", " INV D \n", " INV_BUY D \n", " INV_GROW D \n", " INV_REPL D \n", " INV_RESC D \n", " INV_VEN D \n", " INV_VEN_LATE D \n", " INV_VEN_SEED D \n", " INV_VEN_STAR D \n", "UNIT UNIT D \n", " MIO_EUR D \n", " NR_COMP D \n", " PC_GDP D \n", "GEO GEO D \n", " AT D \n", " BE D \n", " BG D \n", " CH D \n", " CZ D \n", " DE D \n", " DK D \n", "... ... \n", " FI D \n", " FR D \n", " HU D \n", " IE D \n", " IT D \n", " LU D \n", " NL D \n", " NO D \n", " PL D \n", " PT D \n", " RO D \n", " SE D \n", " UK D \n", "OBS_FLAG OBS_FLAG A \n", " b A \n", " c A \n", " d A \n", " e A \n", " f A \n", " i A \n", " n A \n", " p A \n", " r A \n", " s A \n", " u A \n", " z A \n", "OBS_STATUS OBS_STATUS A \n", " - A \n", " 0 A \n", " na A \n", "\n", " name \n", "FREQ FREQ FREQ \n", " A Annual \n", " D Daily \n", " H Half-year \n", " M Monthly \n", " Q Quarterly \n", " S Semi-annual \n", " W Weekly \n", "EXPEND EXPEND EXPEND \n", " INV Investment \n", " INV_BUY Investment for buyout \n", " INV_GROW Investment in growth stage \n", " INV_REPL Investment for replacement \n", " INV_RESC Investment for rescue/turnaround \n", " INV_VEN Venture capital investment (seed, start-up and... \n", " INV_VEN_LATE Investment in later stage \n", " INV_VEN_SEED Investment in seed stage \n", " INV_VEN_STAR Investment in start-up stage \n", "UNIT UNIT UNIT \n", " MIO_EUR Million euro \n", " NR_COMP Number of companies \n", " PC_GDP Percentage of gross domestic product (GDP) \n", "GEO GEO GEO \n", " AT Austria \n", " BE Belgium \n", " BG Bulgaria \n", " CH Switzerland \n", " CZ Czech Republic \n", " DE Germany (until 1990 former territory of the FRG) \n", " DK Denmark \n", "... ... \n", " FI Finland \n", " FR France \n", " HU Hungary \n", " IE Ireland \n", " IT Italy \n", " LU Luxembourg \n", " NL Netherlands \n", " NO Norway \n", " PL Poland \n", " PT Portugal \n", " RO Romania \n", " SE Sweden \n", " UK United Kingdom \n", "OBS_FLAG OBS_FLAG Observation flag. \n", " b break in time series \n", " c confidential \n", " d definition differs, see metadata \n", " e estimated \n", " f forecast \n", " i see metadata (phased out) \n", " n not significant \n", " p provisional \n", " r revised \n", " s Eurostat estimate (phased out) \n", " u low reliability \n", " z not applicable \n", "OBS_STATUS OBS_STATUS Observation status. \n", " - not applicable or real zero or zero by default \n", " 0 less than half of the unit used \n", " na not available \n", "\n", "[63 rows x 2 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dsd_resp2.write().codelist.loc[:,:] # [['EXPEND', 'UNIT'],:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Requesting the data" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dresp2 = estat.get(resource_type = 'data',\n", " resource_id = id2,\n", " params = {'references': None,\n", " #'startPeriod': '2014',\n", " #'endPeriod': '2014'\n", " })" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dat2 = dresp2.data" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'TIME_PERIOD'" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dat2.dim_at_obs" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "621" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ser2 = list(dat2.series)\n", "len(ser2)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "SeriesKey(UNIT='MIO_EUR', EXPEND='INV', GEO='DE', FREQ='A')" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ser2[5].key" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "{'MIO_EUR', 'NR_COMP', 'PC_GDP'}" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "set(s.key.UNIT for s in dat2.series)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Writing the data into DataFrame" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UNITMIO_EURPC_GDP
EXPENDINVINV_BUYINV_GROWINV_REPLINV_RESCINV_VENINV_VEN_LATEINV_VEN_SEEDINV_VEN_STARINVINV_BUYINV_GROWINV_REPLINV_RESCINV_VENINV_VEN_LATEINV_VEN_SEEDINV_VEN_STAR
GEO
AT109.027.054.00.00.027.05.010.013.00.032NaNNaNNaNNaN0.008NaNNaNNaN
BE722.0562.068.018.011.063.030.00.033.00.176NaNNaNNaNNaN0.015NaNNaNNaN
BG16.011.05.00.00.01.00.00.01.00.036NaNNaNNaNNaN0.002NaNNaNNaN
CH640.0197.0107.027.026.0283.0143.05.0134.0NaNNaNNaNNaNNaNNaNNaNNaNNaN
CZ13.00.09.00.00.04.01.01.01.00.008NaNNaNNaNNaN0.002NaNNaNNaN
DE5996.04515.0554.0165.06.0757.0330.044.0383.00.198NaNNaNNaNNaN0.025NaNNaNNaN
DK1162.0832.035.05.00.0290.053.08.0230.00.437NaNNaNNaNNaN0.109NaNNaNNaN
EL0.00.00.00.00.00.00.00.00.00.000NaNNaNNaNNaN0.000NaNNaNNaN
ES1051.0667.0152.081.045.0105.040.03.062.00.097NaNNaNNaNNaN0.010NaNNaNNaN
FI512.0371.040.02.01.098.025.09.064.00.247NaNNaNNaNNaN0.047NaNNaNNaN
FR9451.06848.01743.0112.03.0744.0364.011.0370.00.433NaNNaNNaNNaN0.034NaNNaNNaN
HU118.094.00.00.00.024.03.03.018.00.109NaNNaNNaNNaN0.022NaNNaNNaN
IE161.064.09.00.00.089.038.00.050.00.075NaNNaNNaNNaN0.041NaNNaNNaN
IT1160.0974.0123.030.00.033.013.02.018.00.071NaNNaNNaNNaN0.002NaNNaNNaN
LU74.032.00.00.00.041.07.00.034.00.141NaNNaNNaNNaN0.079NaNNaNNaN
NL1708.01031.0388.046.023.0220.064.08.0147.00.252NaNNaNNaNNaN0.032NaNNaNNaN
NO1165.0730.0344.00.00.092.053.02.037.00.333NaNNaNNaNNaN0.026NaNNaNNaN
PL802.0653.0115.05.00.029.015.03.012.00.188NaNNaNNaNNaN0.007NaNNaNNaN
PT150.040.027.013.00.070.018.05.047.00.084NaNNaNNaNNaN0.039NaNNaNNaN
RO50.046.02.00.00.01.01.00.00.00.031NaNNaNNaNNaN0.001NaNNaNNaN
SE1722.01429.0106.037.00.0150.057.00.093.00.388NaNNaNNaNNaN0.034NaNNaNNaN
UK20521.017382.02157.067.082.0833.0512.010.0310.00.799NaNNaNNaNNaN0.032NaNNaNNaN
\n", "
" ], "text/plain": [ "UNIT MIO_EUR \\\n", "EXPEND INV INV_BUY INV_GROW INV_REPL INV_RESC INV_VEN INV_VEN_LATE \n", "GEO \n", "AT 109.0 27.0 54.0 0.0 0.0 27.0 5.0 \n", "BE 722.0 562.0 68.0 18.0 11.0 63.0 30.0 \n", "BG 16.0 11.0 5.0 0.0 0.0 1.0 0.0 \n", "CH 640.0 197.0 107.0 27.0 26.0 283.0 143.0 \n", "CZ 13.0 0.0 9.0 0.0 0.0 4.0 1.0 \n", "DE 5996.0 4515.0 554.0 165.0 6.0 757.0 330.0 \n", "DK 1162.0 832.0 35.0 5.0 0.0 290.0 53.0 \n", "EL 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "ES 1051.0 667.0 152.0 81.0 45.0 105.0 40.0 \n", "FI 512.0 371.0 40.0 2.0 1.0 98.0 25.0 \n", "FR 9451.0 6848.0 1743.0 112.0 3.0 744.0 364.0 \n", "HU 118.0 94.0 0.0 0.0 0.0 24.0 3.0 \n", "IE 161.0 64.0 9.0 0.0 0.0 89.0 38.0 \n", "IT 1160.0 974.0 123.0 30.0 0.0 33.0 13.0 \n", "LU 74.0 32.0 0.0 0.0 0.0 41.0 7.0 \n", "NL 1708.0 1031.0 388.0 46.0 23.0 220.0 64.0 \n", "NO 1165.0 730.0 344.0 0.0 0.0 92.0 53.0 \n", "PL 802.0 653.0 115.0 5.0 0.0 29.0 15.0 \n", "PT 150.0 40.0 27.0 13.0 0.0 70.0 18.0 \n", "RO 50.0 46.0 2.0 0.0 0.0 1.0 1.0 \n", "SE 1722.0 1429.0 106.0 37.0 0.0 150.0 57.0 \n", "UK 20521.0 17382.0 2157.0 67.0 82.0 833.0 512.0 \n", "\n", "UNIT PC_GDP \\\n", "EXPEND INV_VEN_SEED INV_VEN_STAR INV INV_BUY INV_GROW INV_REPL INV_RESC \n", "GEO \n", "AT 10.0 13.0 0.032 NaN NaN NaN NaN \n", "BE 0.0 33.0 0.176 NaN NaN NaN NaN \n", "BG 0.0 1.0 0.036 NaN NaN NaN NaN \n", "CH 5.0 134.0 NaN NaN NaN NaN NaN \n", "CZ 1.0 1.0 0.008 NaN NaN NaN NaN \n", "DE 44.0 383.0 0.198 NaN NaN NaN NaN \n", "DK 8.0 230.0 0.437 NaN NaN NaN NaN \n", "EL 0.0 0.0 0.000 NaN NaN NaN NaN \n", "ES 3.0 62.0 0.097 NaN NaN NaN NaN \n", "FI 9.0 64.0 0.247 NaN NaN NaN NaN \n", "FR 11.0 370.0 0.433 NaN NaN NaN NaN \n", "HU 3.0 18.0 0.109 NaN NaN NaN NaN \n", "IE 0.0 50.0 0.075 NaN NaN NaN NaN \n", "IT 2.0 18.0 0.071 NaN NaN NaN NaN \n", "LU 0.0 34.0 0.141 NaN NaN NaN NaN \n", "NL 8.0 147.0 0.252 NaN NaN NaN NaN \n", "NO 2.0 37.0 0.333 NaN NaN NaN NaN \n", "PL 3.0 12.0 0.188 NaN NaN NaN NaN \n", "PT 5.0 47.0 0.084 NaN NaN NaN NaN \n", "RO 0.0 0.0 0.031 NaN NaN NaN NaN \n", "SE 0.0 93.0 0.388 NaN NaN NaN NaN \n", "UK 10.0 310.0 0.799 NaN NaN NaN NaN \n", "\n", "UNIT \n", "EXPEND INV_VEN INV_VEN_LATE INV_VEN_SEED INV_VEN_STAR \n", "GEO \n", "AT 0.008 NaN NaN NaN \n", "BE 0.015 NaN NaN NaN \n", "BG 0.002 NaN NaN NaN \n", "CH NaN NaN NaN NaN \n", "CZ 0.002 NaN NaN NaN \n", "DE 0.025 NaN NaN NaN \n", "DK 0.109 NaN NaN NaN \n", "EL 0.000 NaN NaN NaN \n", "ES 0.010 NaN NaN NaN \n", "FI 0.047 NaN NaN NaN \n", "FR 0.034 NaN NaN NaN \n", "HU 0.022 NaN NaN NaN \n", "IE 0.041 NaN NaN NaN \n", "IT 0.002 NaN NaN NaN \n", "LU 0.079 NaN NaN NaN \n", "NL 0.032 NaN NaN NaN \n", "NO 0.026 NaN NaN NaN \n", "PL 0.007 NaN NaN NaN \n", "PT 0.039 NaN NaN NaN \n", "RO 0.001 NaN NaN NaN \n", "SE 0.034 NaN NaN NaN \n", "UK 0.032 NaN NaN NaN " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iter2 = (s for s in dat2.series if (s.key.GEO in ['EU15']) == False)\n", "tab2 = dresp2.write(iter2)\n", "tab2 = tab2.stack('GEO')\n", "tab2.columns = tab2.columns.droplevel(['FREQ']) # Dropping 'FREQ' and 'UNIT' levels\n", "tab2.swaplevel('UNIT', 'EXPEND', axis = 1)\n", "tab2 = tab2.loc['2015', ['PC_GDP', 'MIO_EUR']]\n", "# tab2.dropna(axis = 0, how = 'any', inplace = True)\n", "tab2.index = tab2.index.droplevel(0) # Dropping the 'TIME_PERIOD' axis\n", "tab2" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "source = ColumnDataSource(data = dict(names = list(tab2.index), invest = tab2.loc[:,('PC_GDP','INV')], venture = tab2.loc[:,('PC_GDP','INV_VEN')]))\n", "\n", "p = figure(plot_width = 600, plot_height = 600)\n", "p.square(x = tab2.loc[:,('PC_GDP','INV')], y = tab2.loc[:,('PC_GDP','INV_VEN')], size = list(tab2.loc[:,('MIO_EUR','INV')] / 500), color = \"blue\", alpha = 0.6)\n", "\n", "p.xaxis.axis_label = 'Total R&D Investment'\n", "p.yaxis.axis_label = 'Venture Capital R&D Investment'\n", "\n", "labels = LabelSet(x = 'invest',\n", " y = 'venture',\n", " text = 'names',\n", " source = source,\n", " render_mode='canvas',\n", " level='glyph')\n", "\n", "p.add_layout(labels)\n", "show(p)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }