You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
blabla/PATSTAT/patstat_analysis_demo.ipynb

794 lines
1.3 MiB
Plaintext

1 year ago
{
"cells": [
{
"cell_type": "code",
"execution_count": 88,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import os\n",
"import pandas as pd\n",
"import janitor\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from matplotlib.ticker import MaxNLocator\n",
"import math\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 89,
"outputs": [],
"source": [
"outdir=\"EU_CH_scope\"\n",
"\n",
"appln = pd.read_csv(f\"{outdir}/tls_201_scope.csv\")\n",
"\n",
"appln_title = pd.read_csv(f\"{outdir}/tls_202_scope.csv\")\n",
"\n",
"pers = pd.read_csv(f\"{outdir}/tls_206_scope.csv\")\n",
"\n",
"appln_pers = pd.read_csv(f\"{outdir}/tls_207_scope.csv\")\n",
"\n",
"appln_cpc = pd.read_csv(f\"{outdir}/tls_224_scope.csv\")\n",
"\n",
"cpc_desc = pd.read_csv(f\"{outdir}/cpc_defs.csv\")\n",
"\n",
"country_defs = pd.read_csv(f\"{outdir}/table_tls801.csv\").rename(columns={\"st3_name\":\"Country\"})"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 90,
"outputs": [
{
"data": {
"text/plain": " ctry_code iso_alpha3 Country organisation_flag \n0 unknown Y \\\n1 AD AND Andorra \n2 AE ARE United Arab Emirates \n3 AF AFG Afghanistan \n4 AG ATG Antigua and Barbuda \n.. ... ... ... ... \n237 YE YEM Yemen \n238 YU YUG Yugoslavia/Serbia and Montenegro \n239 ZA ZAF South Africa \n240 ZM ZMB Zambia \n241 ZW ZWE Zimbabwe \n\n continent eu_member epo_member oecd_member discontinued \n0 NaN \n1 Europe \n2 Asia \n3 Asia \n4 North America \n.. ... ... ... ... ... \n237 Asia \n238 Europe Y \n239 Africa \n240 Africa \n241 Africa \n\n[242 rows x 9 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>ctry_code</th>\n <th>iso_alpha3</th>\n <th>Country</th>\n <th>organisation_flag</th>\n <th>continent</th>\n <th>eu_member</th>\n <th>epo_member</th>\n <th>oecd_member</th>\n <th>discontinued</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td></td>\n <td></td>\n <td>unknown</td>\n <td>Y</td>\n <td>NaN</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>1</th>\n <td>AD</td>\n <td>AND</td>\n <td>Andorra</td>\n <td></td>\n <td>Europe</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>2</th>\n <td>AE</td>\n <td>ARE</td>\n <td>United Arab Emirates</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>3</th>\n <td>AF</td>\n <td>AFG</td>\n <td>Afghanistan</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>4</th>\n <td>AG</td>\n <td>ATG</td>\n <td>Antigua and Barbuda</td>\n <td></td>\n <td>North America</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>237</th>\n <td>YE</td>\n <td>YEM</td>\n <td>Yemen</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>238</th>\n <td>YU</td>\n <td>YUG</td>\n <td>Yugoslavia/Serbia and Montenegro</td>\n <td></td>\n <td>Europe</td>\n <td></td>\n <td></td>\n <td></td>\n <td>Y</td>\n </tr>\n <tr>\n <th>239</th>\n <td>ZA</td>\n <td>ZAF</td>\n <td>South Africa</td>\n <td></td>\n <td>Africa</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>240</th>\n <td>ZM</td>\n <td>ZMB</td>\n <td>Zambia</td>\n <td></td>\n <td>Africa</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n <th>241</th>\n <td>ZW</td>\n <td>ZWE</td>\n <td>Zimbabwe</td>\n <td></td>\n <td>Africa</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n </tr>\n </tbody>\n</table>\n<p>242 rows × 9 columns</p>\n</div>"
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"country_defs"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 91,
"outputs": [
{
"data": {
"text/plain": " appln_id appln_auth appln_nr appln_kind appln_filing_date \n0 340657036 EP 12000117 A 2012-01-09 \\\n1 340982410 EP 12151915 A 2012-01-20 \n2 341078960 EP 12700310 A 2012-01-11 \n3 341078962 EP 12700311 A 2012-01-11 \n4 341127772 EP 12700372 A 2012-01-02 \n\n appln_filing_year appln_nr_original ipr_type receiving_office \n0 2012 12000117 PI \\\n1 2012 12151915 PI \n2 2012 12700310 PI \n3 2012 12700311 PI \n4 2012 12700372 PI \n\n internat_appln_id ... earliest_publn_date earliest_publn_year \n0 0 ... 2013-07-10 2013 \\\n1 0 ... 2012-07-25 2012 \n2 340778427 ... 2014-01-22 2014 \n3 340778431 ... 2014-01-22 2014 \n4 340460188 ... 2014-10-15 2014 \n\n earliest_pat_publn_id granted docdb_family_id inpadoc_family_id \n0 407623142 Y 45507394 340657036 \\\n1 365158710 Y 45531220 340982410 \n2 413564969 Y 45491582 340778427 \n3 413564970 Y 45491583 340778431 \n4 421840120 Y 45495923 340460188 \n\n docdb_family_size nb_citing_docdb_fam nb_applicants nb_inventors \n0 3 6 1 2 \n1 2 16 2 6 \n2 3 2 1 1 \n3 3 3 1 1 \n4 4 8 1 2 \n\n[5 rows x 26 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>appln_id</th>\n <th>appln_auth</th>\n <th>appln_nr</th>\n <th>appln_kind</th>\n <th>appln_filing_date</th>\n <th>appln_filing_year</th>\n <th>appln_nr_original</th>\n <th>ipr_type</th>\n <th>receiving_office</th>\n <th>internat_appln_id</th>\n <th>...</th>\n <th>earliest_publn_date</th>\n <th>earliest_publn_year</th>\n <th>earliest_pat_publn_id</th>\n <th>granted</th>\n <th>docdb_family_id</th>\n <th>inpadoc_family_id</th>\n <th>docdb_family_size</th>\n <th>nb_citing_docdb_fam</th>\n <th>nb_applicants</th>\n <th>nb_inventors</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>340657036</td>\n <td>EP</td>\n <td>12000117</td>\n <td>A</td>\n <td>2012-01-09</td>\n <td>2012</td>\n <td>12000117</td>\n <td>PI</td>\n <td></td>\n <td>0</td>\n <td>...</td>\n <td>2013-07-10</td>\n <td>2013</td>\n <td>407623142</td>\n <td>Y</td>\n <td>45507394</td>\n <td>340657036</td>\n <td>3</td>\n <td>6</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>1</th>\n <td>340982410</td>\n <td>EP</td>\n <td>12151915</td>\n <td>A</td>\n <td>2012-01-20</td>\n <td>2012</td>\n <td>12151915</td>\n <td>PI</td>\n <td></td>\n <td>0</td>\n <td>...</td>\n <td>2012-07-25</td>\n <td>2012</td>\n <td>365158710</td>\n <td>Y</td>\n <td>45531220</td>\n <td>340982410</td>\n <td>2</td>\n <td>16</td>\n <td>2</td>\n <td>6</td>\n </tr>\n <tr>\n <th>2</th>\n <td>341078960</td>\n <td>EP</td>\n <td>12700310</td>\n <td>A</td>\n <td>2012-01-11</td>\n <td>2012</td>\n <td>12700310</td>\n <td>PI</td>\n <td></td>\n <td>340778427</td>\n <td>...</td>\n <td>2014-01-22</td>\n <td>2014</td>\n <td>413564969</td>\n <td>Y</td>\n <td>45491582</td>\n <td>340778427</td>\n <td>3</td>\n <td>2</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>3</th>\n <td>341078962</td>\n <td>EP</td>\n <td>12700311</td>\n <td>A</td>\n <td>2012-01-11</td>\n <td>2012</td>\n <td>12700311</td>\n <td>PI</td>\n <td></td>\n <td>340778431</td>\n <td>...</td>\n <td>2014-01-22</td>\n <td>2014</td>\n <td>413564970</td>\n <td>Y</td>\n <td>45491583</td>\n <td>340778431</td>\n <td>3</td>\n <td>3</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>4</th>\n <td>341127772</td>\n <td>EP</td>\n <td>12700372</td>\n <td>A</td>\n <td>2012-01-02</td>\n <td>2012</td>\n <td>12700372</td>\n <td>PI</td>\n <td></td>\n <td>340460188</td>\n <td>...</td>\n <td>2014-10-15</td>\n <td>2014</td>\n <td>421840120</td>\n <td>Y</td>\n <td>45495923</td>\n <td>340460188</td>\n <td>4</td>\n <td>8</td>\n <td>1</td>\n <td>2</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 26 columns</p>\n</div>"
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"appln.head()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 120,
"outputs": [
{
"data": {
"text/plain": "Text(0.5, 0, 'Year')"
},
"execution_count": 120,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = appln.groupby(\"appln_filing_year\", as_index=False)[\"appln_id\"].count()\n",
"data\n",
"g = sns.lineplot(data, x=\"appln_filing_year\", y=\"appln_id\")\n",
"g.set_title(\"Number of (granted) co-patents\")\n",
"g.set_ylabel(\"Count\")\n",
"g.set_xlabel(\"Year\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 93,
"outputs": [],
"source": [
"patstat_collabs = appln_pers.merge(pers, on=\"person_id\")\n",
"patstat_collabs = patstat_collabs.merge(country_defs, left_on=\"person_ctry_code\", right_on=\"ctry_code\")\n",
"patstat_collabs = patstat_collabs.groupby(\"appln_id\",as_index=False)[\"Country\"].unique().explode('Country')"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 94,
"outputs": [],
"source": [
"ch_codes = [\"CN\",\"HK\",\"MO\",\"TW\"]\n",
"ch_names = country_defs[country_defs[\"ctry_code\"].isin(ch_codes)][\"Country\"].unique()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 95,
"outputs": [
{
"data": {
"text/plain": " Country count percent weight\n0 China 18189 0.849160 0.400665\n1 Taiwan Province Of China 2667 0.124510 0.058748\n2 Hong Kong, China 859 0.040103 0.018922\n3 Macao SAR (China) 13 0.000607 0.000286",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Country</th>\n <th>count</th>\n <th>percent</th>\n <th>weight</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>China</td>\n <td>18189</td>\n <td>0.849160</td>\n <td>0.400665</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Taiwan Province Of China</td>\n <td>2667</td>\n <td>0.124510</td>\n <td>0.058748</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Hong Kong, China</td>\n <td>859</td>\n <td>0.040103</td>\n <td>0.018922</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Macao SAR (China)</td>\n <td>13</td>\n <td>0.000607</td>\n <td>0.000286</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"country_collab = patstat_collabs[patstat_collabs[\"Country\"].isin(ch_names)][\"Country\"].value_counts().reset_index()\n",
"country_collab[\"percent\"] = country_collab[\"count\"]/patstat_collabs[\"appln_id\"].nunique()\n",
"country_collab[\"weight\"] = country_collab[\"count\"]/patstat_collabs[\"appln_id\"].size\n",
"country_collab"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 96,
"outputs": [
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtUAAAGwCAYAAABmYpkfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABaWUlEQVR4nO3dd3xO9///8WcixEhIjaL2qBiJBCEqURV7xActSm1qS1ujNiUURati12yrWlvRqtkWtYXaM5HYoxFbJNf5/eHn+rqaRMIJSepxv93c5Hqf9znn9T7Xda48c/K+TuwMwzAEAAAA4LnZJ3cBAAAAQGpHqAYAAABMIlQDAAAAJhGqAQAAAJMI1QAAAIBJhGoAAADAJEI1AAAAYBKhGgAAADCJUA0AAACY5JDcBQAp3T//3JLFktxVvDx2dlK2bM66fv2WXqW/t8q4GfergHEz7leBvb2UNavzS98voRpIgGHolXozeoxxv1oY96uFcb9aXrVxJ9dYmf4BAAAAmESoBgAAAEwiVAMAAAAmEaoBAAAAkwjVAAAAgEnc/QNIgL29vexfwR8/06R5BQctxv2qYdyvFsb9fCwWQxbLK3T7kOdkZxiv0k1WAAAA8Cyiow1FRt5JNcHa3v7R/blfNq5UAwno1++aDh+OSu4yAAB46YoWTauJE3PI3t4u1YTq5EKoBhJw5sxDQjUAAHiqV3NyEQAAAJCECNUAAACASYRqAAAAwCRCNQAAAGASoRoAAAAwiVANAAAAmESoBgAAAEwiVAMAAAAmEaoBAAAAkwjVAAAAgEmEagAAAMAkQjUAAABgEqEaAAAAMIlQDQAAAJhEqAYAAABMIlQDAAAAJhGqAQAAAJMI1QAAAIBJhGoAAADAJEI1AAAAYBKhGgAAADCJUA0AAACYRKgGAAAATCJUAwAAACYRqgEAAACTCNUAAACASYRqAAAAwCRCNQAAAGASoRoAAACJEhUVpVatmmrfvj3WtgMHgtW+fUtVr+6rtm1baPfunXGuO3/+bI0a9ZlN282bNzVixBDVqeOnhg3raPr0ybJYLNblx44dVefO7VSjRmV16tRWhw4dfCHjSgqEagAAACTowYMH+uyzQQoJOWNti4j4R/36faLq1Wtq/vwf5edXXQMG9NaVK5dt1l2/fq3mzJkZa5sTJozRtWtXNWXKNxo6NFC//rpKixcvtG7744+7qnDhopo16ztVq1ZDn3zSXZcuXXqxA31OhGq8VJGRkRozZoz8/Pzk4eGhOnXqaN68edafSl1dXbVzZ9w/4e7cuVOurq4vs1wAACApJOSMOndup/Pnz9m0//33AaVJk0YtWrRWnjx51bp1e6VL56jDhx9dUY6Ojtb48aM1enSg3ngjT6zt7tixTc2afaDChYuobFkvVa9eW3v37pYk/frrGmXOnEV9+vRXgQIF1azZBypd2lMrVix58QN+DoRqvDQRERFq0qSJDh06pFGjRmn16tXq2bOnZsyYoVGjRiW4fpkyZbR169aXUCkAAHjSvn17VbZsOc2YMdemPUuWLIqMjNQff2ySYRj688/fdffuHRUpUlSSdO/ePZ0+fVIzZ86Tm1vpWNvNnNlF69b9ovv37+vatavauXO73nzz0QW0CxfOy9W1hNKkSWPtX6RIUR069PcLHOnzc0juAvDqmDBhgtKlS6fZs2fL0dFRkpQvXz6lT59e3bp1U8uWLZ+6frp06ZQjR46XUSoAAHjCu+82UXS0JVa7h0cZNW7cRIMH95O9vb1iYmI0cOAw5c9fUJLk7OysadPmxLvd3r37aeTIoapZ821ZLBZ5eVVQu3YfSpKyZs2q06dP2PS/cuWyIiNvJNm4khJXqvFSREVFac2aNfrggw+sgfqxqlWrat68ecqT59Gvhfbs2SN/f3+5u7urZcuWOn/+vCTb6R/nzp2Tq6ur1q1bp+rVq8vd3V2dO3fWjRs3rNtdvHixateuLTc3N3l7e2v48OGKiYl5OQMGAOAVcO/eXV24cF7t23fSzJnz1bp1e02cOF5nz4Ymav2wsLNydS2pqVNna9SocQoJOa0FC+ZLkt55x09HjhzWzz8vV3R0tHbu3K6tW//Qw4fRL3BEz49QjZciLCxMd+/elbu7e6xldnZ2qlixotKlSyfpURgePHiwlixZosjISI0fPz7e7U6fPl1ffvmlvv/+ex08eFBz5z76tdSuXbs0cuRI9erVS2vXrtXw4cO1ZMkSbdy48cUMEACAV9CCBd/KMKR27T6Uq2txderUTSVLlrJ+2PBpwsPDNGXKRA0YMFRubu6qUqWqunf/WAsWfKvo6GgVLlxUn346SEFBX8nPr5JmzJiiRo2aKFOmTC9hZM+OUI2X4ubNm5Ie/RooIV27dpW3t7dcXV313nvv6dixY/H2DQgIUOnSpeXh4SF/f38dPPjogxEZM2bUqFGjVLNmTeXNm1e1a9dWyZIldfLkyaQZEAAA0PHjR1W06Js2bcWKuerSpYsJrnvixHFlyeKi7NmzW9vefNNVd+/e0a1bj3JDvXoNtHbtZi1b9ovmzPlednZS7ty5k3YQSYRQjZfCxcVF0qO7fyQkf/781q+dnZ314MGDePsWKFDA+rWTk5MePnwoSXJzc1Px4sU1adIkBQQEqFatWjpw4IDNvS8BAIA52bPnUGjoGZu2s2dDlTt37Dt9xLVuZOQNRUT8Y20LCwtVhgwZ5eLymvbt26NhwwYoTZo0yp49uwzD0I4df6lMGa8kH0dSIFTjpcifP7+cnZ11+PDhOJd37dpVf/31lyTJ3j7xL8u0adPG2b5lyxY1btxY165dU+XKlTVp0iSVLVv22QsHAADxql+/oXbs+Es//bRA58+f06JFP2jnzu1q1Oi9BNctVcpNBQsWUmDgMJ05c1rBwXs1ZcrXevfdprKzs1O+fPm1bdsWLV++ROfPn9OECWN169Yt1alT/yWM7NkRqvFSODg4qG7dulqwYIGioqJslm3atEmbNm3S66+/nmT7W7x4sd59912NGDFCTZo0UZEiRRQWFibDMJJsHwAAvOrc3Nw1atQX+vXXNWrbtrnWrv1F48Z9rcKFiyS4roODg8aN+1oZMqRX9+4fKjBwqKpVq6mOHbtIknLkeF0jRozRkiU/qk2b9xUeflYTJ05VxowZX/Swngu31MNL07NnTzVp0kQdOnRQz549lStXLu3cuVPjxo1T69atVbRo0STbl4uLi4KDg3X8+HHZ29trxowZunr1aqxADwAAns3WrXtsHvv6VpGvb5UE1xs06LNYba+/nlOjRo2Ld51KlXxVqZLvM9eYHAjVeGly5MihhQsXKigoSH369NGNGzeUP39+BQQEqHnz5km6rx49emjAgAFq1qyZnJycVKVKFTVv3lxHjx5N0v0AAABIkp3B78OBp2rS5KL27In/w5IAAPxXlSqVTqtXv6GIiDtx/vGXlMjeXsqWLeG7jSX5fl/6HgEAAID/GEI1AAAAYBKhGgAAADCJUA0AAACYRKgGAAAATCJUAwAAACYRqgEAAACTCNUAAACASYRqAAAAwCRCNQAAAGASoRoAAAAwiVANAAAAmESoBgAAAEwiVAMAAAAmEaoBAAAAkwjVAAAAgEmEagAAAMAkQjUAAABgEqEaAAAAMIlQDQAAAJhEqAYAAABMIlQDAAAAJhGqAQAAAJMI1QAAAIBJhGoAAADAJEI1AAAAYBKhGgAAADCJUA0AAACY5JDcBQApXeHCaXXvnpHcZQAA8NIVLZo2uUtINewMwyAtAAAAIE7R0YYiI+/IYkkdkdHeXsqWzfml75cr1UACIiLuJHcJL91rr2Vi3K8Qxv1qYdyvlqQYt8VipJpAnZwI1UACLBaLLJbkruLlsbN79H9MjEWv0u+xGDfjfhUwbsaNF4cPKgIAAAAmEaoBAAAAkwjVAAAAgEmEagAAAMAkQjUAAABgEqEaAAAAMIlQDQAAAJhEqAYAAABMIlQDAAAAJhGqAQAAAJMI1QAAAIBJhGoAAADAJEI1AAAAYBKhGgAAADCJUA0AAACY5JDcBQApnb29vexfwR8/06T5v0FbLIYsFiMZqwEAIGU
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = country_collab\n",
"g = sns.barplot(data, x=\"count\", y=\"Country\", color=\"blue\")\n",
"g.set_xlim(0,20000)\n",
"g.set_ylabel(\"Country\")\n",
"g.set_xlabel(\"Number of co-patents\")\n",
"for i in g.containers:\n",
" g.bar_label(i,)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 97,
"outputs": [
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = country_collab\n",
"data[\"percent_round\"] = (data[\"percent\"]*100).round(2)\n",
"g = sns.barplot(data, x=\"percent_round\", y=\"Country\", color=\"blue\")\n",
"g.set_xlim(0,100)\n",
"g.set_ylabel(\"Country\")\n",
"g.set_xlabel(\"Percentage of co-patents\")\n",
"for i in g.containers:\n",
" # g.bar_label(i,fmt='%.2f%%')\n",
" g.bar_label(i,fmt='%.2f')"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 98,
"outputs": [
{
"data": {
"text/plain": " Country count percent weight\n0 Germany 7248 0.338375 0.159658\n1 Sweden 3679 0.171755 0.081041\n2 France 3450 0.161064 0.075996\n3 Netherlands 2734 0.127638 0.060224\n4 Finland 1377 0.064286 0.030332\n5 Belgium 1056 0.049300 0.023261\n6 Italy 1052 0.049113 0.023173\n7 Ireland 628 0.029318 0.013834\n8 Denmark 525 0.024510 0.011565\n9 Spain 478 0.022316 0.010529\n10 Austria 439 0.020495 0.009670\n11 Poland 277 0.012932 0.006102\n12 Luxembourg 170 0.007937 0.003745\n13 Greece 111 0.005182 0.002445\n14 Czechia 100 0.004669 0.002203\n15 Portugal 64 0.002988 0.001410\n16 Hungary 48 0.002241 0.001057\n17 Romania 48 0.002241 0.001057\n18 Cyprus 37 0.001727 0.000815\n19 Bulgaria 36 0.001681 0.000793\n20 Slovakia 32 0.001494 0.000705\n21 Malta 26 0.001214 0.000573\n22 Lithuania 15 0.000700 0.000330\n23 Croatia 13 0.000607 0.000286\n24 Slovenia 12 0.000560 0.000264\n25 Estonia 10 0.000467 0.000220\n26 Latvia 4 0.000187 0.000088",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Country</th>\n <th>count</th>\n <th>percent</th>\n <th>weight</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Germany</td>\n <td>7248</td>\n <td>0.338375</td>\n <td>0.159658</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Sweden</td>\n <td>3679</td>\n <td>0.171755</td>\n <td>0.081041</td>\n </tr>\n <tr>\n <th>2</th>\n <td>France</td>\n <td>3450</td>\n <td>0.161064</td>\n <td>0.075996</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Netherlands</td>\n <td>2734</td>\n <td>0.127638</td>\n <td>0.060224</td>\n </tr>\n <tr>\n <th>4</th>\n <td>Finland</td>\n <td>1377</td>\n <td>0.064286</td>\n <td>0.030332</td>\n </tr>\n <tr>\n <th>5</th>\n <td>Belgium</td>\n <td>1056</td>\n <td>0.049300</td>\n <td>0.023261</td>\n </tr>\n <tr>\n <th>6</th>\n <td>Italy</td>\n <td>1052</td>\n <td>0.049113</td>\n <td>0.023173</td>\n </tr>\n <tr>\n <th>7</th>\n <td>Ireland</td>\n <td>628</td>\n <td>0.029318</td>\n <td>0.013834</td>\n </tr>\n <tr>\n <th>8</th>\n <td>Denmark</td>\n <td>525</td>\n <td>0.024510</td>\n <td>0.011565</td>\n </tr>\n <tr>\n <th>9</th>\n <td>Spain</td>\n <td>478</td>\n <td>0.022316</td>\n <td>0.010529</td>\n </tr>\n <tr>\n <th>10</th>\n <td>Austria</td>\n <td>439</td>\n <td>0.020495</td>\n <td>0.009670</td>\n </tr>\n <tr>\n <th>11</th>\n <td>Poland</td>\n <td>277</td>\n <td>0.012932</td>\n <td>0.006102</td>\n </tr>\n <tr>\n <th>12</th>\n <td>Luxembourg</td>\n <td>170</td>\n <td>0.007937</td>\n <td>0.003745</td>\n </tr>\n <tr>\n <th>13</th>\n <td>Greece</td>\n <td>111</td>\n <td>0.005182</td>\n <td>0.002445</td>\n </tr>\n <tr>\n <th>14</th>\n <td>Czechia</td>\n <td>100</td>\n <td>0.004669</td>\n <td>0.002203</td>\n </tr>\n <tr>\n <th>15</th>\n <td>Portugal</td>\n <td>64</td>\n <td>0.002988</td>\n <td>0.001410</td>\n </tr>\n <tr>\n <th>16</th>\n <td>Hungary</td>\n <td>48</td>\n <td>0.002241</td>\n <td>0.001057</td>\n </tr>\n <tr>\n <th>17</th>\n <td>Romania</td>\n <td>48</td>\n <td>0.002241</td>\n <td>0.001057</td>\n </tr>\n <tr>\n <th>18</th>\n <td>Cyprus</td>\n <td>37</td>\n <td>0.001727</td>\n <td>0.000815</td>\n </tr>\n <tr>\n <th>19</th>\n <td>Bulgaria</td>\n <td>36</td>\n <td>0.001681</td>\n <td>0.000793</td>\n </tr>\n <tr>\n <th>20</th>\n <td>Slovakia</td>\n <td>32</td>\n <td>0.001494</td>\n <td>0.000705</td>\n </tr>\n <tr>\n <th>21</th>\n <td>Malta</td>\n <td>26</td>\n <td>0.001214</td>\n <td>0.000573</td>\n </tr>\n <tr>\n <th>22</th>\n <td>Lithuania</td>\n <td>15</td>\n <td>0.000700</td>\n <td>0.000330</td>\n </tr>\n <tr>\n <th>23</th>\n <td>Croatia</td>\n <td>13</td>\n <td>0.000607</td>\n <td>0.000286</td>\n </tr>\n <tr>\n <th>24</th>\n <td>Slovenia</td>\n <td>12</td>\n <td>0.000560</td>\n <td>0.000264</td>\n </tr>\n <tr>\n <th>25</th>\n <td>Estonia</td>\n <td>10</td>\n <td>0.000467</td>\n <td>0.000220</td>\n </tr>\n <tr>\n <th>26</th>\n <td>Latvia</td>\n <td>4</td>\n <td>0.000187</td>\n <td>0.000088</td>
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"country_collab = patstat_collabs[~patstat_collabs[\"Country\"].isin(ch_names)][\"Country\"].value_counts().reset_index()\n",
"country_collab[\"percent\"] = country_collab[\"count\"]/patstat_collabs[\"appln_id\"].nunique()\n",
"country_collab[\"weight\"] = country_collab[\"count\"]/patstat_collabs[\"appln_id\"].size\n",
"country_collab"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 99,
"outputs": [
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = country_collab\n",
"g = sns.barplot(data, x=\"count\", y=\"Country\", color=\"blue\")\n",
"g.set_xlim(0,8000)\n",
"g.set_ylabel(\"Country\")\n",
"g.set_xlabel(\"Number of co-patents\")\n",
"for i in g.containers:\n",
" g.bar_label(i,)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 100,
"outputs": [
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = country_collab\n",
"data[\"percent_round\"] = (data[\"percent\"]*100).round(2)\n",
"g = sns.barplot(data, x=\"percent_round\", y=\"Country\", color=\"blue\")\n",
"g.set_xlim(0,40)\n",
"g.set_ylabel(\"Country\")\n",
"g.set_xlabel(\"Percentage of co-patents\")\n",
"for i in g.containers:\n",
" # g.bar_label(i,fmt='%.2f%%')\n",
" g.bar_label(i,fmt='%.2f')"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"# Pivot country - year"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 106,
"outputs": [
{
"data": {
"text/plain": " appln_id Country appln_filing_year\n0 340657036 Denmark 2012\n1 340657036 China 2012\n2 340982410 Denmark 2012\n3 340982410 China 2012\n4 341078960 Germany 2012\n... ... ... ...\n45392 575326930 China 2021\n45393 575399552 Sweden 2020\n45394 575399552 China 2020\n45395 575406608 Germany 2014\n45396 575406608 China 2014\n\n[45397 rows x 3 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>appln_id</th>\n <th>Country</th>\n <th>appln_filing_year</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>340657036</td>\n <td>Denmark</td>\n <td>2012</td>\n </tr>\n <tr>\n <th>1</th>\n <td>340657036</td>\n <td>China</td>\n <td>2012</td>\n </tr>\n <tr>\n <th>2</th>\n <td>340982410</td>\n <td>Denmark</td>\n <td>2012</td>\n </tr>\n <tr>\n <th>3</th>\n <td>340982410</td>\n <td>China</td>\n <td>2012</td>\n </tr>\n <tr>\n <th>4</th>\n <td>341078960</td>\n <td>Germany</td>\n <td>2012</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>45392</th>\n <td>575326930</td>\n <td>China</td>\n <td>2021</td>\n </tr>\n <tr>\n <th>45393</th>\n <td>575399552</td>\n <td>Sweden</td>\n <td>2020</td>\n </tr>\n <tr>\n <th>45394</th>\n <td>575399552</td>\n <td>China</td>\n <td>2020</td>\n </tr>\n <tr>\n <th>45395</th>\n <td>575406608</td>\n <td>Germany</td>\n <td>2014</td>\n </tr>\n <tr>\n <th>45396</th>\n <td>575406608</td>\n <td>China</td>\n <td>2014</td>\n </tr>\n </tbody>\n</table>\n<p>45397 rows × 3 columns</p>\n</div>"
},
"execution_count": 106,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"record_col = \"appln_id\"\n",
"patstat_collabs_y=patstat_collabs.merge(appln[[record_col,\"appln_filing_year\"]], on=\"appln_id\")\n",
"patstat_collabs_y"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 111,
"outputs": [
{
"data": {
"text/plain": " appln_filing_year Country count appln_id percent\n0 2012 China 2581 3001 0.860047\n1 2012 Germany 888 3001 0.295901\n2 2012 France 653 3001 0.217594\n3 2012 Sweden 473 3001 0.157614\n4 2012 Netherlands 406 3001 0.135288\n.. ... ... ... ... ...\n264 2022 China 4 5 0.800000\n265 2022 Netherlands 2 5 0.400000\n266 2022 Spain 2 5 0.400000\n267 2022 Hong Kong, China 1 5 0.200000\n268 2022 Czechia 1 5 0.200000\n\n[269 rows x 5 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>appln_filing_year</th>\n <th>Country</th>\n <th>count</th>\n <th>appln_id</th>\n <th>percent</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>2012</td>\n <td>China</td>\n <td>2581</td>\n <td>3001</td>\n <td>0.860047</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2012</td>\n <td>Germany</td>\n <td>888</td>\n <td>3001</td>\n <td>0.295901</td>\n </tr>\n <tr>\n <th>2</th>\n <td>2012</td>\n <td>France</td>\n <td>653</td>\n <td>3001</td>\n <td>0.217594</td>\n </tr>\n <tr>\n <th>3</th>\n <td>2012</td>\n <td>Sweden</td>\n <td>473</td>\n <td>3001</td>\n <td>0.157614</td>\n </tr>\n <tr>\n <th>4</th>\n <td>2012</td>\n <td>Netherlands</td>\n <td>406</td>\n <td>3001</td>\n <td>0.135288</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>264</th>\n <td>2022</td>\n <td>China</td>\n <td>4</td>\n <td>5</td>\n <td>0.800000</td>\n </tr>\n <tr>\n <th>265</th>\n <td>2022</td>\n <td>Netherlands</td>\n <td>2</td>\n <td>5</td>\n <td>0.400000</td>\n </tr>\n <tr>\n <th>266</th>\n <td>2022</td>\n <td>Spain</td>\n <td>2</td>\n <td>5</td>\n <td>0.400000</td>\n </tr>\n <tr>\n <th>267</th>\n <td>2022</td>\n <td>Hong Kong, China</td>\n <td>1</td>\n <td>5</td>\n <td>0.200000</td>\n </tr>\n <tr>\n <th>268</th>\n <td>2022</td>\n <td>Czechia</td>\n <td>1</td>\n <td>5</td>\n <td>0.200000</td>\n </tr>\n </tbody>\n</table>\n<p>269 rows × 5 columns</p>\n</div>"
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"countall = patstat_collabs_y.groupby(\"appln_filing_year\", as_index=False)[record_col].nunique()\n",
"data = patstat_collabs_y.groupby(\"appln_filing_year\", as_index=False)[\"Country\"].value_counts().merge(countall, on=\"appln_filing_year\")\n",
"data[\"percent\"] = data[\"count\"]/data[record_col]\n",
"data_ch = data[data[\"Country\"].isin(ch_names)]\n",
"data_ch"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 116,
"outputs": [
{
"data": {
"text/plain": "Text(95.7222222222222, 0.5, '')"
},
"execution_count": 116,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 1000x300 with 2 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,3))\n",
"g = sns.heatmap(pd.pivot_table(data_ch,columns=\"appln_filing_year\", index=\"Country\", values=\"count\").fillna(0).astype(int),\n",
" annot=True, fmt=\".0f\",linewidth=.5)\n",
"g.set_title(\"Number of co-patents per year\")\n",
"g.set_xlabel(\"\")\n",
"g.set_ylabel(\"\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 118,
"outputs": [
{
"data": {
"text/plain": "Text(95.7222222222222, 0.5, '')"
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 1000x300 with 2 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,3))\n",
"g = sns.heatmap(pd.pivot_table(data_ch,columns=\"appln_filing_year\", index=\"Country\", values=\"percent\").fillna(0)*100,\n",
" annot=True, fmt=\".2f\",linewidth=.5)\n",
"g.set_title(\"Percentage of co-patents related to country per year\")\n",
"g.set_xlabel(\"\")\n",
"g.set_ylabel(\"\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 112,
"outputs": [
{
"data": {
"text/plain": " appln_filing_year Country count appln_id percent\n1 2012 Germany 888 3001 0.295901\n2 2012 France 653 3001 0.217594\n3 2012 Sweden 473 3001 0.157614\n4 2012 Netherlands 406 3001 0.135288\n6 2012 Finland 257 3001 0.085638\n.. ... ... ... ... ...\n262 2021 Hungary 1 127 0.007874\n263 2021 Croatia 1 127 0.007874\n265 2022 Netherlands 2 5 0.400000\n266 2022 Spain 2 5 0.400000\n268 2022 Czechia 1 5 0.200000\n\n[231 rows x 5 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>appln_filing_year</th>\n <th>Country</th>\n <th>count</th>\n <th>appln_id</th>\n <th>percent</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>1</th>\n <td>2012</td>\n <td>Germany</td>\n <td>888</td>\n <td>3001</td>\n <td>0.295901</td>\n </tr>\n <tr>\n <th>2</th>\n <td>2012</td>\n <td>France</td>\n <td>653</td>\n <td>3001</td>\n <td>0.217594</td>\n </tr>\n <tr>\n <th>3</th>\n <td>2012</td>\n <td>Sweden</td>\n <td>473</td>\n <td>3001</td>\n <td>0.157614</td>\n </tr>\n <tr>\n <th>4</th>\n <td>2012</td>\n <td>Netherlands</td>\n <td>406</td>\n <td>3001</td>\n <td>0.135288</td>\n </tr>\n <tr>\n <th>6</th>\n <td>2012</td>\n <td>Finland</td>\n <td>257</td>\n <td>3001</td>\n <td>0.085638</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>262</th>\n <td>2021</td>\n <td>Hungary</td>\n <td>1</td>\n <td>127</td>\n <td>0.007874</td>\n </tr>\n <tr>\n <th>263</th>\n <td>2021</td>\n <td>Croatia</td>\n <td>1</td>\n <td>127</td>\n <td>0.007874</td>\n </tr>\n <tr>\n <th>265</th>\n <td>2022</td>\n <td>Netherlands</td>\n <td>2</td>\n <td>5</td>\n <td>0.400000</td>\n </tr>\n <tr>\n <th>266</th>\n <td>2022</td>\n <td>Spain</td>\n <td>2</td>\n <td>5</td>\n <td>0.400000</td>\n </tr>\n <tr>\n <th>268</th>\n <td>2022</td>\n <td>Czechia</td>\n <td>1</td>\n <td>5</td>\n <td>0.200000</td>\n </tr>\n </tbody>\n</table>\n<p>231 rows × 5 columns</p>\n</div>"
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_eu = data[~data[\"Country\"].isin(ch_names)]\n",
"data_eu"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 121,
"outputs": [
{
"data": {
"text/plain": "Text(95.72222222222221, 0.5, '')"
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 1000x1000 with 2 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,10))\n",
"g = sns.heatmap(pd.pivot_table(data_eu,columns=\"appln_filing_year\", index=\"Country\", values=\"count\").fillna(0).astype(int),\n",
" annot=True, fmt=\".0f\",linewidth=.5)\n",
"g.set_title(\"Number of co-patents per year\")\n",
"g.set_xlabel(\"\")\n",
"g.set_ylabel(\"\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 123,
"outputs": [
{
"data": {
"text/plain": "Text(95.72222222222221, 0.5, '')"
},
"execution_count": 123,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 1000x1000 with 2 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,10))\n",
"g = sns.heatmap(pd.pivot_table(data_eu,columns=\"appln_filing_year\", index=\"Country\", values=\"percent\").fillna(0)*100,\n",
" annot=True, fmt=\".2f\",linewidth=.5)\n",
"g.set_title(\"Percentage of co-patents related to country per year\")\n",
"g.set_xlabel(\"\")\n",
"g.set_ylabel(\"\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"# Let's see about 'organizations'"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"# harmonized entities (sector and country too)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 181,
"outputs": [],
"source": [
"pers_han = pers[[\"person_id\",\"han_id\",\"han_name\",\"psn_sector\",\"person_ctry_code\"]].drop_duplicates()\n",
"pers_han[\"psn_sector\"].fillna(\"UNKNOWN\", inplace=True)\n",
"pers_han = pers_han.sort_values(by=\"psn_sector\", ascending=True)\n",
"pers_han.drop(columns=\"person_id\", inplace=True)\n",
"pers_han = pers_han.groupby(\"han_id\", as_index=False)[[\"han_name\",\"psn_sector\",\"person_ctry_code\"]].agg(\n",
" lambda x: pd.Series.mode(x)[0])\n",
"pers_han = pers_han.merge(country_defs,left_on=\"person_ctry_code\",right_on=\"ctry_code\")"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 182,
"outputs": [
{
"data": {
"text/plain": " appln_id han_id han_name psn_sector Country\n0 352908776 1663881 L OREAL COMPANY France\n1 419627340 1663881 L OREAL COMPANY France\n2 422411429 1663881 L OREAL COMPANY France\n3 439807462 1663881 L OREAL COMPANY France\n4 441685575 1663881 L OREAL COMPANY France\n... ... ... ... ... ...\n87656 488889994 1590343 KERBEJ YUROP LTD COMPANY Malta\n87657 472247962 153591744 Van Rooij, Reinhart Cornelis UNKNOWN Latvia\n87658 505769448 157946198 VINGOVATOVS, Aleksejs UNKNOWN Latvia\n87659 481190056 3652317 VAVILOVS VALERIJS INDIVIDUAL Latvia\n87660 554759601 3652317 VAVILOVS VALERIJS INDIVIDUAL Latvia\n\n[87073 rows x 5 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>appln_id</th>\n <th>han_id</th>\n <th>han_name</th>\n <th>psn_sector</th>\n <th>Country</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>352908776</td>\n <td>1663881</td>\n <td>L OREAL</td>\n <td>COMPANY</td>\n <td>France</td>\n </tr>\n <tr>\n <th>1</th>\n <td>419627340</td>\n <td>1663881</td>\n <td>L OREAL</td>\n <td>COMPANY</td>\n <td>France</td>\n </tr>\n <tr>\n <th>2</th>\n <td>422411429</td>\n <td>1663881</td>\n <td>L OREAL</td>\n <td>COMPANY</td>\n <td>France</td>\n </tr>\n <tr>\n <th>3</th>\n <td>439807462</td>\n <td>1663881</td>\n <td>L OREAL</td>\n <td>COMPANY</td>\n <td>France</td>\n </tr>\n <tr>\n <th>4</th>\n <td>441685575</td>\n <td>1663881</td>\n <td>L OREAL</td>\n <td>COMPANY</td>\n <td>France</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>87656</th>\n <td>488889994</td>\n <td>1590343</td>\n <td>KERBEJ YUROP LTD</td>\n <td>COMPANY</td>\n <td>Malta</td>\n </tr>\n <tr>\n <th>87657</th>\n <td>472247962</td>\n <td>153591744</td>\n <td>Van Rooij, Reinhart Cornelis</td>\n <td>UNKNOWN</td>\n <td>Latvia</td>\n </tr>\n <tr>\n <th>87658</th>\n <td>505769448</td>\n <td>157946198</td>\n <td>VINGOVATOVS, Aleksejs</td>\n <td>UNKNOWN</td>\n <td>Latvia</td>\n </tr>\n <tr>\n <th>87659</th>\n <td>481190056</td>\n <td>3652317</td>\n <td>VAVILOVS VALERIJS</td>\n <td>INDIVIDUAL</td>\n <td>Latvia</td>\n </tr>\n <tr>\n <th>87660</th>\n <td>554759601</td>\n <td>3652317</td>\n <td>VAVILOVS VALERIJS</td>\n <td>INDIVIDUAL</td>\n <td>Latvia</td>\n </tr>\n </tbody>\n</table>\n<p>87073 rows × 5 columns</p>\n</div>"
},
"execution_count": 182,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"patstat_collabs = appln_pers.merge(pers, on=\"person_id\")\n",
"patstat_collabs = patstat_collabs.merge(country_defs, left_on=\"person_ctry_code\", right_on=\"ctry_code\")\n",
"org_collabs = patstat_collabs[[record_col,\"han_id\",\"han_name\",\"psn_sector\",\"Country\"]].drop_duplicates()\n",
"org_collabs[\"psn_sector\"].fillna(\"UNKNOWN\", inplace=True)\n",
"org_collabs"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 183,
"outputs": [
{
"data": {
"text/plain": " han_id count percent weight \n0 1337324 1980 0.092437 0.022740 \\\n1 62077 406 0.018954 0.004663 \n2 111166343 176 0.008217 0.002021 \n3 1912470 174 0.008123 0.001998 \n4 3697072 172 0.008030 0.001975 \n... ... ... ... ... \n21413 149475428 1 0.000047 0.000011 \n21414 149475432 1 0.000047 0.000011 \n21415 149475629 1 0.000047 0.000011 \n21416 149475736 1 0.000047 0.000011 \n21417 182805176 1 0.000047 0.000011 \n\n han_name psn_sector person_ctry_code \n0 HUAWEI TECH CO LTD COMPANY CN \\\n1 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD COMPANY TW \n2 Liu, Jinhua INDIVIDUAL CN \n3 MEDIATEK INC COMPANY TW \n4 NINGBO GEELY AUTOMOBILE R&D CO LTD COMPANY CN \n... ... ... ... \n21413 CHEN, Yuli UNKNOWN CN \n21414 CHEN, Zhi UNKNOWN CN \n21415 Du, Jun UNKNOWN CN \n21416 Chunlin, Wu UNKNOWN CN \n21417 Killine Optical Ltd UNKNOWN MO \n\n ctry_code iso_alpha3 Country organisation_flag \n0 CN CHN China \\\n1 TW TWN Taiwan Province Of China \n2 CN CHN China \n3 TW TWN Taiwan Province Of China \n4 CN CHN China \n... ... ... ... ... \n21413 CN CHN China \n21414 CN CHN China \n21415 CN CHN China \n21416 CN CHN China \n21417 MO MAC Macao SAR (China) \n\n continent eu_member epo_member oecd_member discontinued \n0 Asia \\\n1 Asia \n2 Asia \n3 Asia \n4 Asia \n... ... ... ... ... ... \n21413 Asia \n21414 Asia \n21415 Asia \n21416 Asia \n21417 Asia \n\n org \n0 HUAWEI TECH CO LTD (CN) \n1 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD (TW) \n2 Liu, Jinhua (CN) \n3 MEDIATEK INC (TW) \n4 NINGBO GEELY AUTOMOBILE R&D CO LTD (CN) \n... ... \n21413 CHEN, Yuli (CN) \n21414 CHEN, Zhi (CN) \n21415 Du, Jun (CN) \n21416 Chunlin, Wu (CN) \n21417 Killine Optical Ltd (MO) \n\n[21418 rows x 17 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>han_id</th>\n <th>count</th>\n <th>percent</th>\n <th>weight</th>\n <th>han_name</th>\n <th>psn_sector</th>\n <th>person_ctry_code</th>\n <th>ctry_code</th>\n <th>iso_alpha3</th>\n <th>Country</th>\n <th>organisation_flag</th>\n <th>continent</th>\n <th>eu_member</th>\n <th>epo_member</th>\n <th>oecd_member</th>\n <th>discontinued</th>\n <th>org</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1337324</td>\n <td>1980</td>\n <td>0.092437</td>\n <td>0.022740</td>\n <td>HUAWEI TECH CO LTD</td>\n <td>COMPANY</td>\n <td>CN</td>\n <td>CN</td>\n <td>CHN</td>\n <td>China</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n <td>HUAWEI TECH CO LTD (CN)</td>\n </tr>\n <tr>\n <th>1</th>\n <td>62077</td>\n <td>406</td>\n <td>0.018954</td>\n <td>0.004663</td>\n <td>TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD</td>\n <td>COMPANY</td>\n <td>TW</td>\n <td>TW</td>\n <td>TWN</td>\n <td>Taiwan Province Of China</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n <td>TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD (TW)</td>\n </tr>\n <tr>\n <th>2</th>\n <td>111166343</td>\n <td>176</td>\n <td>0.008217</td>\n <td>0.002021</td>\n <td>Liu, Jinhua</td>\n <td>INDIVIDUAL</td>\n <td>CN</td>\n <td>CN</td>\n <td>CHN</td>\n <td>China</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n <td>Liu, Jinhua (CN)</td>\n </tr>\n <tr>\n <th>3</th>\n <td>1912470</td>\n <td>174</td>\n <td>0.008123</td>\n <td>0.001998</td>\n <td>MEDIATEK INC</td>\n <td>COMPANY</td>\n <td>TW</td>\n <td>TW</td>\n <td>TWN</td>\n <td>Taiwan Province Of China</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n <td>MEDIATEK INC (TW)</td>\n </tr>\n <tr>\n <th>4</th>\n <td>3697072</td>\n <td>172</td>\n <td>0.008030</td>\n <td>0.001975</td>\n <td>NINGBO GEELY AUTOMOBILE R&amp;D CO LTD</td>\n <td>COMPANY</td>\n <td>CN</td>\n <td>CN</td>\n <td>CHN</td>\n <td>China</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n <td>NINGBO GEELY AUTOMOBILE R&amp;D CO LTD (CN)</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>21413</th>\n <td>149475428</td>\n <td>1</td>\n <td>0.000047</td>\n <td>0.000011</td>\n <td>CHEN, Yuli</td>\n <td>UNKNOWN</td>\n <td>CN</td>\n <td>CN</td>\n <td>CHN</td>\n <td>China</td>\n <td></td>\n <td>Asia</td>\n <td></td>\n <td></td>\n <td></td>\n <td></td>\n <td>CHEN, Yuli (CN)</td>\n </tr>\n <tr>\n <th>21414</th>\n <td>149475432</td>\n <td>1</td>\n <td>0.000047</td>\n <td>0.000011</td>\n <td>CHEN, Zhi</td>\n <td>UNKNOWN</td>\n <td>CN</td>\n <td>CN</td>\n <td>CHN</td>\n <td>China</td>\n
},
"execution_count": 183,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# China\n",
"org_collabs_ch = org_collabs[org_collabs[\"Country\"].isin(ch_names)][\"han_id\"].value_counts().reset_index()\n",
"org_collabs_ch[\"percent\"] = org_collabs_ch[\"count\"]/org_collabs[record_col].nunique()\n",
"org_collabs_ch[\"weight\"] = org_collabs_ch[\"count\"]/org_collabs[record_col].size\n",
"org_collabs_ch = org_collabs_ch.merge(pers_han, on='han_id')\n",
"org_collabs_ch[\"org\"] = org_collabs_ch[\"han_name\"].str.strip() + \" (\"+org_collabs_ch[\"person_ctry_code\"]+\")\"\n",
"org_collabs_ch"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 184,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.legend.Legend at 0x24295d9dd00>"
},
"execution_count": 184,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = org_collabs_ch[0:25]\n",
"g = sns.barplot(data, x=\"count\", y=\"han_name\", hue=\"psn_sector\", dodge=False)\n",
"g.set_ylabel(\"Entity\")\n",
"g.set_xlabel(\"Number of co-patents\")\n",
"for i in g.containers:\n",
" g.bar_label(i,)\n",
"g.legend(title=None)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 185,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.legend.Legend at 0x24285bfa8b0>"
},
"execution_count": 185,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"g = sns.barplot(data, x=\"count\", y=\"han_name\", hue=\"Country\", dodge=False)\n",
"g.set_ylabel(\"Entity\")\n",
"g.set_xlabel(\"Number of co-patents\")\n",
"for i in g.containers:\n",
" g.bar_label(i,)\n",
"g.legend(title=None, loc=4)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 186,
"outputs": [
{
"data": {
"text/plain": " han_id count percent weight han_name \n0 13378 1821 0.085014 0.020913 TELEFON AB LM ERICSSON PUBL \\\n1 68848 471 0.021989 0.005409 ALCATEL LUCENT \n2 2562294 445 0.020775 0.005111 NOKIA TECH LTD \n3 228842 403 0.018814 0.004628 BASF SE \n4 2125445 372 0.017367 0.004272 NOKIA CORP \n... ... ... ... ... ... \n19100 107891047 1 0.000047 0.000011 Goldacker, Thorsten \n19101 176254977 1 0.000047 0.000011 Dietrich, Tiantian \n19102 176256380 1 0.000047 0.000011 LAJFELD Ferdinand \n19103 176327671 1 0.000047 0.000011 GALEANO Karolina \n19104 174748097 1 0.000047 0.000011 Chen, Yunzheng \n\n psn_sector person_ctry_code ctry_code iso_alpha3 Country \n0 COMPANY SE SE SWE Sweden \\\n1 COMPANY FR FR FRA France \n2 COMPANY FI FI FIN Finland \n3 COMPANY DE DE DEU Germany \n4 COMPANY FI FI FIN Finland \n... ... ... ... ... ... \n19100 INDIVIDUAL DE DE DEU Germany \n19101 UNKNOWN DE DE DEU Germany \n19102 UNKNOWN DE DE DEU Germany \n19103 UNKNOWN DE DE DEU Germany \n19104 UNKNOWN DE DE DEU Germany \n\n organisation_flag continent eu_member epo_member oecd_member \n0 Europe Y Y Y \\\n1 Europe Y Y Y \n2 Europe Y Y Y \n3 Europe Y Y Y \n4 Europe Y Y Y \n... ... ... ... ... ... \n19100 Europe Y Y Y \n19101 Europe Y Y Y \n19102 Europe Y Y Y \n19103 Europe Y Y Y \n19104 Europe Y Y Y \n\n discontinued \n0 \n1 \n2 \n3 \n4 \n... ... \n19100 \n19101 \n19102 \n19103 \n19104 \n\n[19105 rows x 16 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>han_id</th>\n <th>count</th>\n <th>percent</th>\n <th>weight</th>\n <th>han_name</th>\n <th>psn_sector</th>\n <th>person_ctry_code</th>\n <th>ctry_code</th>\n <th>iso_alpha3</th>\n <th>Country</th>\n <th>organisation_flag</th>\n <th>continent</th>\n <th>eu_member</th>\n <th>epo_member</th>\n <th>oecd_member</th>\n <th>discontinued</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>13378</td>\n <td>1821</td>\n <td>0.085014</td>\n <td>0.020913</td>\n <td>TELEFON AB LM ERICSSON PUBL</td>\n <td>COMPANY</td>\n <td>SE</td>\n <td>SE</td>\n <td>SWE</td>\n <td>Sweden</td>\n <td></td>\n <td>Europe</td>\n <td>Y</td>\n <td>Y</td>\n <td>Y</td>\n <td></td>\n </tr>\n <tr>\n <th>1</th>\n <td>68848</td>\n <td>471</td>\n <td>0.021989</td>\n <td>0.005409</td>\n <td>ALCATEL LUCENT</td>\n <td>COMPANY</td>\n <td>FR</td>\n <td>FR</td>\n <td>FRA</td>\n <td>France</td>\n <td></td>\n <td>Europe</td>\n <td>Y</td>\n <td>Y</td>\n <td>Y</td>\n <td></td>\n </tr>\n <tr>\n <th>2</th>\n <td>2562294</td>\n <td>445</td>\n <td>0.020775</td>\n <td>0.005111</td>\n <td>NOKIA TECH LTD</td>\n <td>COMPANY</td>\n <td>FI</td>\n <td>FI</td>\n <td>FIN</td>\n <td>Finland</td>\n <td></td>\n <td>Europe</td>\n <td>Y</td>\n <td>Y</td>\n <td>Y</td>\n <td></td>\n </tr>\n <tr>\n <th>3</th>\n <td>228842</td>\n <td>403</td>\n <td>0.018814</td>\n <td>0.004628</td>\n <td>BASF SE</td>\n <td>COMPANY</td>\n <td>DE</td>\n <td>DE</td>\n <td>DEU</td>\n <td>Germany</td>\n <td></td>\n <td>Europe</td>\n <td>Y</td>\n <td>Y</td>\n <td>Y</td>\n <td></td>\n </tr>\n <tr>\n <th>4</th>\n <td>2125445</td>\n <td>372</td>\n <td>0.017367</td>\n <td>0.004272</td>\n <td>NOKIA CORP</td>\n <td>COMPANY</td>\n <td>FI</td>\n <td>FI</td>\n <td>FIN</td>\n <td>Finland</td>\n <td></td>\n <td>Europe</td>\n <td>Y</td>\n <td>Y</td>\n <td>Y</td>\n <td></td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>19100</th>\n <td>107891047</td>\n <td>1</td>\n <td>0.000047</td>\n <td>0.000011</td>\n <td>Goldacker, Thorsten</td>\n <td>INDIVIDUAL</td>\n <td>DE</td>\n <td>DE</td>\n <td>DEU</td>\n <td>Germany</td>\n <td></td>\n <td>Europe</td>\n <td>Y</td>\n <td>Y</td>\n <td>Y</td>\n <td></td>\n </tr>\n <tr>\n <th>19101</th>\n <td>176254977</td>\n <td>1</td>\n <td>0.000047</td>\n <td>0.000011</td>\n <td>Dietrich, Tiantian</td>\n <td>UNKNOWN</td>\n <td>DE</td>\n <td>DE</td>\n <td>DEU</td>\n <td>Germany</td>\n <td></td>\n <td>Europe</td>\n <td>Y</td>\n <td>Y</td>\n <td>Y</td>\n <td></td>\n </tr>\n <tr>\n <th>19102</th>\n <td>176256380</td>\n <td>1</td>\n <td>0.000047</td>\n <td>0.000011</td>\n <td>LAJFELD Ferdinand</td>\n <td>UNKNOWN</td>\n <td>DE</td>\n <td>DE
},
"execution_count": 186,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Eu\n",
"org_collabs_eu = org_collabs[~org_collabs[\"Country\"].isin(ch_names)][\"han_id\"].value_counts().reset_index()\n",
"org_collabs_eu[\"percent\"] = org_collabs_eu[\"count\"]/org_collabs[record_col].nunique()\n",
"org_collabs_eu[\"weight\"] = org_collabs_eu[\"count\"]/org_collabs[record_col].size\n",
"org_collabs_eu = org_collabs_eu.merge(pers_han, on='han_id')\n",
"org_collabs_eu"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 187,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.legend.Legend at 0x2429909cf40>"
},
"execution_count": 187,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = org_collabs_eu[0:25]\n",
"g = sns.barplot(data, x=\"count\", y=\"han_name\", hue=\"psn_sector\", dodge=False)\n",
"g.set_ylabel(\"Entity\")\n",
"g.set_xlabel(\"Number of co-patents\")\n",
"for i in g.containers:\n",
" g.bar_label(i,)\n",
"g.legend(title=None)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 188,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.legend.Legend at 0x2429b918ca0>"
},
"execution_count": 188,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"g = sns.barplot(data, x=\"count\", y=\"han_name\", hue=\"Country\", dodge=False)\n",
"g.set_ylabel(\"Entity\")\n",
"g.set_xlabel(\"Number of co-patents\")\n",
"for i in g.containers:\n",
" g.bar_label(i,)\n",
"g.legend(title=None, loc=4)"
],
"metadata": {
"collapsed": false
}
1 year ago
},
{
"cell_type": "markdown",
"source": [
"# Patent classes?"
],
"metadata": {
"collapsed": false
}
1 year ago
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}