Skip to content

Commit

Permalink
Merge pull request #8 from dataforgoodfr/scorreia/poc_analysis_notebook
Browse files Browse the repository at this point in the history
team analyse de données: notebooks avec le questionnaire v1 et première application streamlit
  • Loading branch information
kaaloo authored Apr 16, 2024
2 parents 8f31055 + 9a945da commit b3b34f8
Show file tree
Hide file tree
Showing 9 changed files with 2,948 additions and 1,396 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -161,5 +161,5 @@ cython_debug/

# Precommit hooks: ruff cache
.ruff_cache

.DS_Store
data/
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
rev: "v0.0.254"
rev: "v0.3.7"
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
Expand Down
5 changes: 5 additions & 0 deletions app/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Pour exécuter l'application Streamlit de , lancer la commande suivante depuis ce répertoire :
`streamlit run odi_streamlit.py`

Note:
L'application streamlit `analyse_app_OLD.py` sera à supprimer.
63 changes: 63 additions & 0 deletions app/analyse_app_OLD.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
"""
# My first app with Streamlit https://streamlit.io/
Here's our first attempt at using data to create a table:
"""

import matplotlib.pyplot as plt
import pandas as pd
import streamlit as st

st.title("Observatoire des Imaginaires")
st.divider()
st.header("Fait par la dream team _Analyse de données_")
st.write(
(
"Cette application analyse les données du PoC. On peut se faire plaisir"
" en y ajoutant tous les graphiques nécessaires. "
"Le code est à nettoyer pour une meilleure maintenance ;-) "
),
)


st.container()
st.header("Aperçu des données")
# Load the data
file_path = "../data/Analyse réponses.xlsx - Treated data.csv"

# ne pas lire la première ligne
data = pd.read_csv(file_path, skiprows=1)

# Supprimer les lignes où la première colonne contient "Contenu XXX"
# XXX est un nombre
# Et Supprimer les lignes où toutes les valeurs sont NaN
df = data[~data["TITRE"].str.contains(r"Contenu \d+", na=False)].dropna(how="all")

# ne conserver qu'une ligne sur 4 (ce qui revient à supprimer les informations
# des personnages 2, 3, 4 quand ils existent)
df_truncated = df.iloc[::4]
# Nettoyage du data set

# mettre les titres en majuscule
df_truncated["TITRE"] = df_truncated["TITRE"].str.upper()

### Convertir les types de données correctement ici
# Convertir les années en entier
annee = "ANNEE"
df_truncated[annee] = pd.to_numeric(df_truncated[annee], errors="coerce").fillna(0).astype(int)
# Trouver les titres qui apparaissent plus de 4 fois dans la colonne "TITRE"
# (car chaque titre a 4 lignes, une pour chaque personnage)
titles_more_than_once = df_truncated["TITRE"].value_counts()
titles_more_than_once = titles_more_than_once[titles_more_than_once > 1]

# Afficher un bar chart des titres les plus fréquents
# Affichage d'un bar chart horizontal


st.header("Films les plus fréquents")
# Création du graphique
fig, ax = plt.subplots()
t = titles_more_than_once.sort_values(ascending=True)
t.plot(kind="barh", color="skyblue", ax=ax)
ax.set_xlabel("Nb")
ax.set_title("Fréquence des films/séries")
st.pyplot(fig)
Loading

0 comments on commit b3b34f8

Please sign in to comment.