Skip to content

Instantly share code, notes, and snippets.

@motatoes
Last active October 10, 2018 15:27
Show Gist options
  • Save motatoes/88163f3ae3da6aef150473fa50b21974 to your computer and use it in GitHub Desktop.
Save motatoes/88163f3ae3da6aef150473fa50b21974 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"\n",
"\n",
"import pandas as pd\n",
"\n",
"df = pd.read_csv(\"dev_skills.csv\")\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"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>Unnamed: 0</th>\n",
" <th>1 to 100 employees</th>\n",
" <th>101 to 1,000 employees</th>\n",
" <th>1,001+ employees</th>\n",
" <th>Average</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Problem-solving</td>\n",
" <td>94.2%</td>\n",
" <td>94.7%</td>\n",
" <td>95.9%</td>\n",
" <td>94.9%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Programming language proficiency</td>\n",
" <td>55.2%</td>\n",
" <td>55.2%</td>\n",
" <td>59.0%</td>\n",
" <td>56.6%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Debugging</td>\n",
" <td>47.1%</td>\n",
" <td>45.0%</td>\n",
" <td>48.5%</td>\n",
" <td>47.1%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>System design</td>\n",
" <td>37.0%</td>\n",
" <td>39.8%</td>\n",
" <td>44.1%</td>\n",
" <td>40.3%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Performance optimization</td>\n",
" <td>34.0%</td>\n",
" <td>35.0%</td>\n",
" <td>37.0%</td>\n",
" <td>36.0%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Code review capability</td>\n",
" <td>36.3%</td>\n",
" <td>36.3%</td>\n",
" <td>35.0%</td>\n",
" <td>35.8%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Testing</td>\n",
" <td>35.9%</td>\n",
" <td>34.4%</td>\n",
" <td>34.1%</td>\n",
" <td>34.8%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>Frameworks proficiency</td>\n",
" <td>26.1%</td>\n",
" <td>23.3%</td>\n",
" <td>22.8%</td>\n",
" <td>24.2%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Database design</td>\n",
" <td>23.2%</td>\n",
" <td>20.5%</td>\n",
" <td>18.8%</td>\n",
" <td>20.9%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>Codebase navigation</td>\n",
" <td>17.6%</td>\n",
" <td>14.2%</td>\n",
" <td>13.2%</td>\n",
" <td>15.1%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 1 to 100 employees 101 to 1,000 employees \\\n",
"0 Problem-solving 94.2% 94.7% \n",
"1 Programming language proficiency 55.2% 55.2% \n",
"2 Debugging 47.1% 45.0% \n",
"3 System design 37.0% 39.8% \n",
"4 Performance optimization 34.0% 35.0% \n",
"5 Code review capability 36.3% 36.3% \n",
"6 Testing 35.9% 34.4% \n",
"7 Frameworks proficiency 26.1% 23.3% \n",
"8 Database design 23.2% 20.5% \n",
"9 Codebase navigation 17.6% 14.2% \n",
"\n",
" 1,001+ employees Average \n",
"0 95.9% 94.9% \n",
"1 59.0% 56.6% \n",
"2 48.5% 47.1% \n",
"3 44.1% 40.3% \n",
"4 37.0% 36.0% \n",
"5 35.0% 35.8% \n",
"6 34.1% 34.8% \n",
"7 22.8% 24.2% \n",
"8 18.8% 20.9% \n",
"9 13.2% 15.1% "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"df = df.transpose()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"df.columns = df.iloc[0]"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Unnamed: 0\n",
"Problem-solving float64\n",
"Programming language proficiency float64\n",
"Debugging float64\n",
"System design float64\n",
"Performance optimization float64\n",
"Code review capability float64\n",
"Testing float64\n",
"Frameworks proficiency float64\n",
"Database design float64\n",
"Codebase navigation float64\n",
"dtype: object"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"df = df.drop(df.index[0])\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"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>Unnamed: 0</th>\n",
" <th>Problem-solving</th>\n",
" <th>Programming language proficiency</th>\n",
" <th>Debugging</th>\n",
" <th>System design</th>\n",
" <th>Performance optimization</th>\n",
" <th>Code review capability</th>\n",
" <th>Testing</th>\n",
" <th>Frameworks proficiency</th>\n",
" <th>Database design</th>\n",
" <th>Codebase navigation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1 to 100 employees</th>\n",
" <td>94.2</td>\n",
" <td>55.2</td>\n",
" <td>47.1</td>\n",
" <td>37.0</td>\n",
" <td>34.0</td>\n",
" <td>36.3</td>\n",
" <td>35.9</td>\n",
" <td>26.1</td>\n",
" <td>23.2</td>\n",
" <td>17.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>101 to 1,000 employees</th>\n",
" <td>94.7</td>\n",
" <td>55.2</td>\n",
" <td>45.0</td>\n",
" <td>39.8</td>\n",
" <td>35.0</td>\n",
" <td>36.3</td>\n",
" <td>34.4</td>\n",
" <td>23.3</td>\n",
" <td>20.5</td>\n",
" <td>14.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1,001+ employees</th>\n",
" <td>95.9</td>\n",
" <td>59.0</td>\n",
" <td>48.5</td>\n",
" <td>44.1</td>\n",
" <td>37.0</td>\n",
" <td>35.0</td>\n",
" <td>34.1</td>\n",
" <td>22.8</td>\n",
" <td>18.8</td>\n",
" <td>13.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Average</th>\n",
" <td>94.9</td>\n",
" <td>56.6</td>\n",
" <td>47.1</td>\n",
" <td>40.3</td>\n",
" <td>36.0</td>\n",
" <td>35.8</td>\n",
" <td>34.8</td>\n",
" <td>24.2</td>\n",
" <td>20.9</td>\n",
" <td>15.1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"Unnamed: 0 Problem-solving Programming language proficiency \\\n",
"1 to 100 employees 94.2 55.2 \n",
"101 to 1,000 employees 94.7 55.2 \n",
"1,001+ employees 95.9 59.0 \n",
"Average 94.9 56.6 \n",
"\n",
"Unnamed: 0 Debugging System design Performance optimization \\\n",
"1 to 100 employees 47.1 37.0 34.0 \n",
"101 to 1,000 employees 45.0 39.8 35.0 \n",
"1,001+ employees 48.5 44.1 37.0 \n",
"Average 47.1 40.3 36.0 \n",
"\n",
"Unnamed: 0 Code review capability Testing Frameworks proficiency \\\n",
"1 to 100 employees 36.3 35.9 26.1 \n",
"101 to 1,000 employees 36.3 34.4 23.3 \n",
"1,001+ employees 35.0 34.1 22.8 \n",
"Average 35.8 34.8 24.2 \n",
"\n",
"Unnamed: 0 Database design Codebase navigation \n",
"1 to 100 employees 23.2 17.6 \n",
"101 to 1,000 employees 20.5 14.2 \n",
"1,001+ employees 18.8 13.2 \n",
"Average 20.9 15.1 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for col in df.columns:\n",
" df[col] = df[ col ].str.slice(0, -1)\n",
"\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"for col in df.columns:\n",
" df[col] = pd.to_numeric(df[col])"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x11f48f6d8>"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAGwCAYAAACn065CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3Xmc1fP+wPHXu0TRohK3a6QotEz7tEj2FlskS7YWkh8Xce9F+Lmy53Jt2S6/JG4ShSyXuiEV2oZqpJIIEbpJpZTK+/fH53NmzkwzU82Z8/mec+b9fDzmMfP9nnPm8246857v97O8P6KqGGOMyVyVog7AGGNMclmiN8aYDGeJ3hhjMpwlemOMyXCW6I0xJsNZojfGmAxnid4YYzLcDhO9iDwlIj+KyCdx5+qIyH9EZKn/XNufFxF5SEQ+F5EFItI2mcEbY4zZsZ25on8a6Fnk3FDgbVVtArztjwFOAJr4j8HAY+UTpjHGmLLaYaJX1WnAT0VOnwqM9l+PBk6LO/+MOjOBvUWkfnkFa4wxZtftVsbX7aeqK/3X3wP7+a/3B76Je94Kf24lpdhnn320YcOGZQzFGGMqptzc3P+qar0dPa+siT6fqqqI7HLBHBEZjOveoUGDBsydOzfRUIwxpkIRka925nllnXXzQ6xLxn/+0Z//Fjgg7nlZ/tx2VPUJVW2vqu3r1dvhHyRjjDFlVNZE/yrQ33/dH5gYd76fn33TCVgb18VjjDEmAjvsuhGRscDRwD4isgK4GRgOvCAiFwFfAWf5p/8bOBH4HNgIDExCzMYYY3bBDhO9qp5TwkPHFfNcBf6UaFDGpLotW7awYsUKNm3aFHUopgKoWrUqWVlZVKlSpUyvT3gw1piKaMWKFdSoUYOGDRsiIlGHYzKYqrJ69WpWrFhBo0aNyvQ9rASCMWWwadMm6tata0neJJ2IULdu3YTuHi3RG1NGluRNKIm+1yzRG5OmLrzwQvbdd19atGhR4nNeeeUVPv300136vtOmTaNt27bstttujB8/vtBjo0ePpkmTJjRp0oTRo0fnn8/NzSU7O5vGjRtz5ZVXEnIv6mHDhnHvvfcGay8dZUwfffbo7ELHef3zIorEVEQNh75Rrt9v+fCTdvicAQMGcPnll9OvX78Sn/PKK69w8skn06xZs51uu0GDBjz99NPbJc+ffvqJW265hblz5yIitGvXjl69elG7dm0uvfRSnnzySTp27MiJJ57IW2+9xQknnLDTbZrksit6Y9LUkUceSZ06dUp8/IMPPuDVV1/lmmuuoXXr1ixbtox58+bRqVMnWrZsSe/evVmzZs12r2vYsCEtW7akUqXC6WHSpEl069aNOnXqULt2bbp168Zbb73FypUrWbduHZ06dUJE6NevH6+88sp233fVqlX06dOHnJwccnJyeP/99wF3Rd6/f3+6du3KgQceyEsvvcS1115LdnY2PXv2ZMuWLflxxc536NCBzz//fLs2ivv3LVu2jLZtCwrpLl26NP84NzeXo446inbt2tGjRw9WrnTLfpYtW0bPnj1p164dXbt2ZfHixQC8+OKLtGjRglatWnHkkUeW+v+TSjI20S86rGmhD2MqmsMPP5xevXpxzz33MG/ePA4++GD69evH3XffzYIFC8jOzuaWW27Z6e/37bffcsABBQvfs7Ky+Pbbb/n222/Jysra7nxRQ4YM4eqrr2bOnDlMmDCBQYMG5T+2bNky3nnnHV599VXOP/98jjnmGPLy8qhWrRpvvFFwt1SrVi3y8vK4/PLLueqqq7Zro7h/38EHH0ytWrWYN28eAKNGjWLgwIFs2bKFK664gvHjx5Obm8uFF17IjTfeCMDgwYMZMWIEubm53HvvvVx22WUA3HrrrUyaNIn58+fz6quv7vTPLmrp23UzrFbh40YNoonDmDSxdu1afv75Z4466igA+vfvz5lnnhms/SlTphQaL1i3bh2//PILACeccAJVqlQhOzubbdu20bOnq4yenZ3N8uXL819zzjnn5H+++uqrC33/0v59gwYNYtSoUdx3332MGzeO2bNns2TJEj755BO6desGwLZt26hfvz6//PILH3zwQaGfzebNmwHo0qULAwYM4KyzzuL0008vzx9PUqVFoi+u/3N51QgCMaYC23///Zk6dWr+8YoVKzj66KPZf//9WbFiRaHz+++//3av//3335k5cyZVq27/y7vHHnsAUKlSJapUqZI/y6RSpUps3bo1/3nxs092ZSZKnz59uOWWWzj22GNp164ddevW5bvvvqN58+Z8+OGHhZ67bt069t577/w7gHiPP/44s2bN4o033qBdu3bk5uZSt27dnY4jKhnbdWOMgRo1arB+/XrAdXvUrl2b6dOnA/Dss8/mX/3ujB49ejB58mTWrFnDmjVrmDx5Mj169KB+/frUrFmTmTNnoqo888wznHrqqdu9vnv37owYMSL/uLhEuiPjxo3L/9y5c+dCj5X276tatSo9evTg0ksvZeBAV5nl0EMPZdWqVfmJfsuWLSxcuJCaNWvSqFEjXnzxRcAtWJo/fz7gupg6duzIrbfeSr169fjmm29IB5bojUlT55xzDp07d2bJkiVkZWUxcuTI7Z7Tt29f7rnnHtq0acOyZcsYPXo011xzDS1btmTevHn87W9/2+41c+bMISsrixdffJFLLrmE5s2bA1CnTh1uuumm/MHUv/3tb/mDwY8++iiDBg2icePGHHzwwcXOuHnooYeYO3cuLVu2pFmzZjz++OO7/G9es2YNLVu25MEHH+T+++/f7vHS/n3nnXcelSpVonv37gDsvvvujB8/nuuuu45WrVrRunVrPvjgAwDGjBnDyJEjadWqFc2bN2fiRFe38ZprriE7O5sWLVpw+OGH06pVq13+N0RBQs53LUn79u21tHr0xXfdnFvoOLtIH/0Ld20tdNx08aIEIjSmsEWLFtG0qQ3yh9SwYUPmzp3LPvvsU6bX33vvvaxdu5bbbrutnCMLo7j3nIjkqmr7Hb02LfrojTEmEb17986f2VMRWaI3xqSF+Nk3u+rll18uv0DSkPXRG2NMhrNEb4wxGc4SvTHGZDhL9MYYk+Es0RuTpkoqU/zTTz/RrVs3mjRpQrdu3fILly1evJjOnTuzxx57lFrW984779zlWG688UYOOOAAqlevXuJzVJUrr7ySxo0b07JlSz766KP8x6z8cXLZrBtjykPR2ksJf7+1O3xKSWWKhw8fznHHHcfQoUMZPnw4w4cP5+6776ZOnTo89NBDxVaWjHfnnXdyww037FK4p5xyCpdffjlNmjQp8TlvvvkmS5cuZenSpcyaNYtLL72UWbNmWfnjAOyK3pg0VVKZ4okTJ9K/f3/AFfaKJfZ9992XnJycUjeYHjp0KL/++iutW7fmvPPOA+C+++6jRYsWtGjRggceeKDY13Xq1In69euXGu/EiRPp168fIkKnTp34+eefWblypZU/Jvnljy3RG5Nhfvjhh/yk+4c//IEffvhhp187fPhwqlWrxrx58xgzZgy5ubmMGjWKWbNmMXPmTJ588kk+/vjjMsVVWpljK3+c3PLH1nVjTAYTkYT2G50xYwa9e/dmr732AuD0009n+vTptGnTprxCTJiVP94xS/TGZJj99tuPlStXUr9+fVauXMm+++4bdUiAK3McX+0xVs7Yyh8nv/yxdd0Yk2F69eqVP3Nl9OjRxZYMLk2VKlXy+6+7du3KK6+8wsaNG9mwYQMvv/wyXbt23env9fLLL3P99dfnx/XMM8+gqsycOZNatWpRv359K39M8ssfW6I3Jk2VVKZ46NCh/Oc//6FJkyZMmTKFoUOHAvD999+TlZXFfffdx+23305WVhbr1q3b7vsOHjyYli1bct5559G2bVsGDBhAhw4d6NixI4MGDSq22+baa68lKyuLjRs3kpWVxbBhwwCXwGrWrAnAiSeeyEEHHUTjxo25+OKLefTRRwErfwzJL39sZYqNKQMrU7xzzj//fO6//37q1asXdSglSpfyx1am2BiTkv71r39FHUJSpUv5Y0v0xpgKrSKUP7Y+emOMyXCW6I0xJsNZojfGmAxnid4YYzKcJXpj0lRJZYrjbd68mbPPPpvGjRvTsWPHQgOPd911F40bN+bQQw9l0qRJu/R9o7J8+fKUjCvVJTTrRkSuBgYBCuQBA4H6wPNAXSAXuEBVf0swTmNSWvbo7HL9fnn983b4nJLKFMcbOXIktWvX5vPPP+f555/nuuuuY9y4cXz66ac8//zzLFy4kO+++47jjz+ezz77jMqVK+/U923YsGFCs1VMWGW+oheR/YErgfaq2gKoDPQF7gbuV9XGwBrgovII1BhTWElliuPFlyw+44wzePvtt1FVJk6cSN++fdljjz1o1KgRjRs3Zvbs2Tv9fXfGPffcQ05ODi1btuTmm28G3BX5YYcdxoABAzjkkEM477zzmDJlCl26dKFJkyb5MQwbNowLLriAzp0706RJE5588sntvv+mTZsYOHAg2dnZtGnThnfffTc//vgyCEcccQTz589nw4YNXHjhhXTo0IE2bdrkr0rdtm0b11xzTX6s//znPwFYuXIlRx55JK1bt6ZFixb5JRDSUaJdN7sB1URkN2BPYCVwLDDePz4aOC3BNowxZRRfAni33XajVq1arF69usTSwOVl8uTJLF26lNmzZzNv3jxyc3OZNm0aAJ9//jl/+ctfWLx4MYsXL+a5555jxowZ3HvvvYV2t1qwYAHvvPMOH374IbfeeivfffddoTYeeeQRRIS8vDzGjh1L//792bRpExdddBFPP/00AJ999hmbNm2iVatW3HHHHRx77LHMnj2bd999l2uuuYYNGzYwcuRIatWqxZw5c5gzZw5PPvkkX375Jc899xw9evRg3rx5zJ8/n9atW5fbzye0Mid6Vf0WuBf4Gpfg1+K6an5W1Vj9gRXA9uXmjDFp54477qB169a0bt2a7777Lv/rP/3pT9s9d/LkyUyePJk2bdrQtm1bFi9ezNKlSwFo1KgR2dnZVKpUiebNm3PcccchItuVDj711FOpVq0a++yzD8ccc0z+1X7MjBkzOP/88wE47LDDOPDAA/nss88488wzef3119myZQtPPfUUAwYMyI9p+PDhtG7dmqOPPppNmzbx9ddfM3nyZJ555hlat25Nx44dWb16NUuXLiUnJ4dRo0YxbNgw8vLyqFGjRnJ+sAGUuY9eRGoDpwKNgJ+BF4Geu/D6wcBggAYNGuzg2caYsoiVBs7KymLr1q2sXbuWunXrllgyuDQ33nhj/gYaDRs2LLVKpKpy/fXXc8kllxQ6v3z58vzSweDKBceXEi6pdHBxxyXZc8896datGxMnTuSFF14gNzc3P6YJEyZw6KGHbhfriBEj6NGjx3bfa9q0abzxxhsMGDCAP//5z6WOW6SyRLpujge+VNVVqroFeAnoAuztu3IAsoBi7wdV9QlVba+q7VO54JEx6ebhhx/m4YcfBgqXLB4/fjzHHnssIkKvXr14/vnn2bx5M19++SVLly6lQ4cO5RZDjx49eOqpp/I3APn222/58ccfd+l7TJw4kU2bNrF69WqmTp1KTk5Ooce7du3KmDFjANdF8/XXX+cn8UGDBnHllVeSk5ND7dq182MaMWJE/gbjsZ2yevTowWOPPZZfmvmzzz5jw4YNfPXVV+y3335cfPHFDBo0qNBm5ukmkUT/NdBJRPYU96f2OOBT4F3gDP+c/sDExEI0xhSnpDLFixcvzt+04qKLLmL16tU0btyY++67j+HDhwPQvHlzzjrrLJo1a0bPnj155JFHqFy5cqnfd1d0796dc889l86dO5Odnc0ZZ5zB+vXrd+l7tGzZkmOOOYZOnTpx00038cc//rHQ45dddhm///472dnZnH322Tz99NP5dwft2rWjZs2a+TXiAW666Sa2bNlCy5Ytad68OTfddBPg/ig0a9aMtm3b0qJFCy655BK2bt3K1KlTadWqFW3atGHcuHEMGTJkl38OqSKhMsUicgtwNrAV+Bg31XJ/3PTKOv7c+aq6ubTvY2WKTbpJ5TLFJ598Mi+99BK777571KGU2bBhw6hevTp//etfy/T67777jqOPPprFixdTqVJmLBeKrEyxqt4M3Fzk9BdA+d0DGmN2yeuvvx51CJF65plnuPHGG7nvvvsyJsknysoUG2NSTmyHqrLo169f2g6aJov9uTPGmAxnid4YYzKcJXpjjMlwluiNMSbDWaI3Jo298soriAiLFy+OOhSTwmzWjTHlYNFh5TunfmfXfYwdO5YjjjiCsWPHcssttyTU5tatW9ltN0sJmciu6I1JU7/88gszZsxg5MiRPP/88wD07duXN94oWGA4YMAAxo8fX2Ip3qlTp9K1a1d69epFs2bNADjttNNo164dzZs354knnsj/XiNHjuSQQw6hQ4cOXHzxxVx++eUArFq1ij59+pCTk0NOTg7vv/9+qB+B2Un259uYNDVx4kR69uzJIYccQt26dcnNzeXss8/mhRde4KSTTuK3337j7bff5rHHHitUinfz5s106dKF7t27A/DRRx/xySef0KhRIwCeeuop6tSpw6+//kpOTg59+vRh8+bN3HbbbXz00UfUqFGDY489llatWgEwZMgQrr76ao444gi+/vprevTowaJFthI9lViiNyZNjR07Nr/+St++fRk7diy33347Q4YMYfPmzbz11lsceeSRVKtWjcmTJ7NgwQLGj3dbRaxdu5alS5ey++6706FDh/wkD/DQQw/x8ssvA/DNN9+wdOlSvv/+e4466qj8DUnOPPNMPvvsMwCmTJnCp59+mv/6devW8csvv1C9evUgPwezY5bojUlDP/30E++88w55eXmICNu2bUNEuOeeezj66KOZNGkS48aNo2/fvkDJpXinTp3KXnvtVeh4ypQpfPjhh+y55575ddtL8/vvvzNz5kyqVq1a/v9QUy6sj96YNDR+/HguuOACvvrqK5YvX84333xDo0aNmD59OmeffTajRo1i+vTp9OzptogoqRRvUWvXrqV27drsueeeLF68mJkzZwKQk5PDe++9x5o1a9i6dSsTJkzIf0337t0ZMWJE/nFpdepNNCzRG5OGxo4dS+/evQud69OnD2PHjqV79+689957HH/88fkVLEsqxVtUz5492bp1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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"import matplotlib.pyplot as py\n",
"df.transpose().plot.bar()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"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.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
1 to 100 employees 101 to 1,000 employees 1,001+ employees Average
Problem-solving 94.2% 94.7% 95.9% 94.9%
Programming language proficiency 55.2% 55.2% 59.0% 56.6%
Debugging 47.1% 45.0% 48.5% 47.1%
System design 37.0% 39.8% 44.1% 40.3%
Performance optimization 34.0% 35.0% 37.0% 36.0%
Code review capability 36.3% 36.3% 35.0% 35.8%
Testing 35.9% 34.4% 34.1% 34.8%
Frameworks proficiency 26.1% 23.3% 22.8% 24.2%
Database design 23.2% 20.5% 18.8% 20.9%
Codebase navigation 17.6% 14.2% 13.2% 15.1%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment