LaurentTRIPIED commited on
Commit
1b7b20e
1 Parent(s): f5502e6

V2-Liste_MAP_Stat_16

Browse files
Files changed (1) hide show
  1. statistiques.py +3 -15
statistiques.py CHANGED
@@ -4,20 +4,17 @@ import pandas as pd
4
  import plotly.express as px
5
  import matplotlib.pyplot as plt
6
  from data_manager import get_data
7
- from wordcloud import WordCloud,STOPWORDS
8
 
9
  def display_companies_by_sector(df):
10
- # Assurez-vous d'utiliser le nom correct de la colonne ici
11
  sector_counts = df['libelle_section_naf'].value_counts().reset_index()
12
  sector_counts.columns = ['Secteur', 'Nombre']
13
  fig = px.bar(sector_counts, x='Secteur', y='Nombre', title="Répartition des entreprises par secteur d'activité",
14
  color='Nombre', labels={'Nombre':'Nombre d\'entreprises'}, template='plotly_white')
15
- # Rotation des étiquettes de l'axe des x pour une meilleure lisibilité
16
  fig.update_layout(xaxis_tickangle=-45)
17
  st.plotly_chart(fig)
18
 
19
  def display_company_sizes(df):
20
- # Remplacez 'tranche_effectif_entreprise' par le nom correct de la colonne
21
  fig = px.histogram(df, x='tranche_effectif_entreprise', title="Distribution des tailles d'entreprises",
22
  labels={'tranche_effectif_entreprise':'Taille de l\'entreprise'}, template='plotly_white')
23
  fig.update_traces(marker_color='green')
@@ -26,34 +23,25 @@ def display_company_sizes(df):
26
  def display_rse_actions_wordcloud(df):
27
  st.title("Cartographie des Actions RSE")
28
 
29
- # Définir les mots à exclure
30
  custom_stopwords = set(["d ", "des", "qui", "ainsi", "toute", "hors", "plus", "cette", "afin", "via", "d'", "sa", "dans", "ont", "avec", "aux", "ce", "chez", "ont", "cela", "la", "un", "avons", "par", "c'est", "s'est", "aussi", "leurs", "d'un", "nos", "les", "sur", "ses", "tous", "nous", "du", "notre", "de", "et", "est", "pour", "le", "une", "se", "en", "au", "à", "que", "sont", "leur", "son"])
31
-
32
- # Ajouter vos mots à exclure aux stop words par défaut de wordcloud
33
  stopwords = STOPWORDS.union(custom_stopwords)
34
-
35
- # Préparation des données
36
  text = " ".join(action for action in df['action_rse'].dropna())
37
-
38
- # Génération du nuage de mots avec les stop words personnalisés
39
  wordcloud = WordCloud(stopwords=stopwords, background_color="white", width=800, height=400).generate(text)
40
 
41
- # Affichage du nuage de mots
42
  fig, ax = plt.subplots()
43
  ax.imshow(wordcloud, interpolation='bilinear')
44
  ax.axis('off')
45
  st.pyplot(fig)
46
 
47
-
48
  def main():
49
  st.title("Statistiques sur les entreprises engagées RSE")
50
  data, _ = get_data()
51
  df = pd.DataFrame(data)
52
 
53
- if not df.empty:
54
  display_companies_by_sector(df)
55
  display_company_sizes(df)
56
  display_rse_actions_wordcloud(df)
57
-
58
  if __name__ == "__main__":
59
  main()
 
4
  import plotly.express as px
5
  import matplotlib.pyplot as plt
6
  from data_manager import get_data
7
+ from wordcloud import WordCloud, STOPWORDS
8
 
9
  def display_companies_by_sector(df):
 
10
  sector_counts = df['libelle_section_naf'].value_counts().reset_index()
11
  sector_counts.columns = ['Secteur', 'Nombre']
12
  fig = px.bar(sector_counts, x='Secteur', y='Nombre', title="Répartition des entreprises par secteur d'activité",
13
  color='Nombre', labels={'Nombre':'Nombre d\'entreprises'}, template='plotly_white')
 
14
  fig.update_layout(xaxis_tickangle=-45)
15
  st.plotly_chart(fig)
16
 
17
  def display_company_sizes(df):
 
18
  fig = px.histogram(df, x='tranche_effectif_entreprise', title="Distribution des tailles d'entreprises",
19
  labels={'tranche_effectif_entreprise':'Taille de l\'entreprise'}, template='plotly_white')
20
  fig.update_traces(marker_color='green')
 
23
  def display_rse_actions_wordcloud(df):
24
  st.title("Cartographie des Actions RSE")
25
 
 
26
  custom_stopwords = set(["d ", "des", "qui", "ainsi", "toute", "hors", "plus", "cette", "afin", "via", "d'", "sa", "dans", "ont", "avec", "aux", "ce", "chez", "ont", "cela", "la", "un", "avons", "par", "c'est", "s'est", "aussi", "leurs", "d'un", "nos", "les", "sur", "ses", "tous", "nous", "du", "notre", "de", "et", "est", "pour", "le", "une", "se", "en", "au", "à", "que", "sont", "leur", "son"])
 
 
27
  stopwords = STOPWORDS.union(custom_stopwords)
 
 
28
  text = " ".join(action for action in df['action_rse'].dropna())
 
 
29
  wordcloud = WordCloud(stopwords=stopwords, background_color="white", width=800, height=400).generate(text)
30
 
 
31
  fig, ax = plt.subplots()
32
  ax.imshow(wordcloud, interpolation='bilinear')
33
  ax.axis('off')
34
  st.pyplot(fig)
35
 
 
36
  def main():
37
  st.title("Statistiques sur les entreprises engagées RSE")
38
  data, _ = get_data()
39
  df = pd.DataFrame(data)
40
 
41
+ if not df.empty:
42
  display_companies_by_sector(df)
43
  display_company_sizes(df)
44
  display_rse_actions_wordcloud(df)
45
+
46
  if __name__ == "__main__":
47
  main()