-
Notifications
You must be signed in to change notification settings - Fork 0
/
Viz.py
70 lines (59 loc) · 3.94 KB
/
Viz.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import seaborn as sns
sns.set(style="darkgrid")
cols = ["stage", "cdi", "cdd", "alternance", "freelance"]
results_set = [annonces["Details"].loc[annonces[col]==1].count() for col in cols]
df = pd.DataFrame({'results_set': results_set}, index=cols)
ax=df.plot.bar(rot=90,figsize = (15, 15))
ax.set_title('Nombre de contrat parmis les offres relevées')
fig = ax.get_figure()
fig.savefig('contract_count.png')
#plot le nombre de compétences
cols = ['c+', 'cassandra', 'd3', 'dashboard', 'dataiku', 'deeplearning', 'excel', 'hadoop', 'java', 'javascript', 'keras', 'kpi', 'machinelearning', 'maths', 'matlab', 'ml', 'mysql', 'nlp', 'nosql', 'numpy', 'pandas', 'php', 'physics', 'physique', 'powerpoint', 'python', 'pytorch', 'qlikview', 'r', 'rstudio', 'ruby', 'sas', 'scala', 'sci-kit', 'scikit', 'shiny', 'spark', 'sql', 'statistics', 'statistique', 'tensorflow', 'vba']
results_set2 = [annonces["Details"].loc[annonces[col]==1].count() for col in cols]
df = pd.DataFrame({'results_set2': results_set2}, index=cols)
ax1 = df.plot.bar(rot=90,figsize = (15, 15))
ax1.set_title('Nombre de compétences relevées')
fig = ax1.get_figure()
fig.savefig('skills_count.png')
#plot les salaires selon les compétences
cols = ['c+', 'cassandra', 'd3', 'dashboard', 'dataiku', 'deeplearning', 'excel', 'hadoop', 'java', 'javascript', 'keras', 'kpi', 'machinelearning', 'maths', 'matlab', 'ml', 'mysql', 'nlp', 'nosql', 'numpy', 'pandas', 'php', 'physics', 'physique', 'powerpoint', 'python', 'pytorch', 'qlikview', 'r', 'rstudio', 'ruby', 'sas', 'scala', 'sci-kit', 'scikit', 'shiny', 'spark', 'sql', 'statistics', 'statistique', 'tensorflow', 'vba']
results_set3 = [annonces["Salaires"].loc[annonces[col]==1].mean() for col in cols]
df = pd.DataFrame({'results_set2': results_set3}, index=cols)
ax2 = df.plot.bar(rot=90,figsize = (15, 15))
ax2.set_title('Salaires associés à chaque compétence (moyenne)')
fig = ax2.get_figure()
fig.savefig('skills_salary.png')
#plot les salaires banlieu vs centre ville
annonces.groupby(['Inner_City',"Bassin_emploi"]).mean()['Salaires'].unstack().plot(kind="bar",title="les salaires selon la localité centre villes vs banlieu")
plt.rcParams['figure.figsize'] = (15,15)
plt.savefig('salaires_banlieu_villes.png')
#plot les salaires selon la ville et la seniorité
annonces.groupby(['Seniority_simplified',"Bassin_emploi"]).mean()['Salaires'].unstack().plot(kind="bar",title="les salaires selon la seniorité et la ville")
plt.rcParams['figure.figsize'] = (15,15)
plt.savefig('salaires_selon_villesetseniority.png')
#plot les salaires selon la ville et le rôle
annonces.groupby(['position',"Bassin_emploi"]).mean()['Salaires'].unstack().plot(kind="bar",title="les salaires selon la ville et le rôle")
plt.rcParams['figure.figsize'] = (15,15)
plt.savefig('salaires_selon_villesetrele.png')
#vertical
f, (ax3, ax4,ax6) = plt.subplots(3,figsize=(15,15))
sns.set(style="darkgrid")
ax3 =sns.countplot(ax=ax3,x="Bassin_emploi", hue="Niveau d'études", data=annonces)
ax3.set_title('niveau etude')
ax4 = sns.countplot(ax=ax4,x="position", data=annonces)
ax4.set_title('nombre de poste selon le rôle')
ax6 = sns.countplot(ax=ax6,x="Bassin_emploi", hue="position", data=annonces)
ax6.set_title('nombre de poste selon le rôle et la ville')#Paris has a lot more of analysts
f.savefig('vertical_subplots.png')
#Or horizontale
fig, axs = plt.subplots(ncols=3,figsize=(15,15))
sns.countplot(x='Bassin_emploi', hue="Niveau d'études", data=annonces, ax=axs[0])
sns.countplot(x='position', data=annonces, ax=axs[1])
sns.countplot(x='Bassin_emploi', hue='position', data=annonces, ax=axs[2])
plt.savefig('Bassin_emploi_etudes.png')
annonces.groupby(['true_date',"position"]).count()['Details'].unstack().plot(title="Number of offer per role")
plt.rcParams['figure.figsize'] = (15, 15)
plt.savefig('offer_position.png')
annonces.groupby(['true_date',"Bassin_emploi"]).count()['Details'].unstack().plot(title="Number of offer per city")
plt.rcParams['figure.figsize'] = (15,15)
plt.savefig('offer_city.png')