-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPandas.py
76 lines (47 loc) · 1.93 KB
/
Pandas.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
69
70
71
72
73
74
# -*- coding: utf-8 -*-
# <nbformat>3.0</nbformat>
# <markdowncell>
# #Traitement des informations sur la ligne de temps
# <markdowncell>
# Importation des modules
# - pandas pour la gestion des csv et les calculs type excel
# - numpy pour les calculs en général
# - matplotlib pour les graphiques
# <codecell>
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# <markdowncell>
# Lecture des fichiers csv dans une DataFrame
#
# - Syncs pour les textes alignés avec le temps Début, Fin, Speaker, Text (on ajoute : Durée et Longueur dans le script)
# <codecell>
Syncs=pd.read_csv("./Syncs.csv",sep="\t")
# <markdowncell>
# Nettoyage des champs Speaker et Text pour supprimer les blancs en trop
#
# - le str.strip() s'applique à chaque élément de la colonne
# <codecell>
Syncs['Speaker']=Syncs['Speaker'].str.strip()
Syncs['Text']=Syncs['Text'].str.strip()
# <markdowncell>
# Ajout des colonnes Durée et Longueur
#
# - la différence entre les colonnes numériques donne directement le résultat dans la nouvelle colonne
# - le str.len() calcule la longueur de la chaîne pour chaque élément de la colonne
# <codecell>
Syncs['Durée']=Syncs['Fin']-Syncs['Début']
Syncs['Longueur']=Syncs['Text'].str.len()
# <markdowncell>
# Calcul du graphe de Durée pour le spk1 en fonction du numéro de Sync (pas de la timeline)
#
# - Syncs.loc[Syncs['Speaker']=='spk1'] permet de sélectionner dans df seulement les éléments qui ont spk1 dans la colonne Speaker
# - une fois Syncs.loc[Syncs['Speaker']=='spk1'] sélectionnée, on peut l'utiliser comme une DataFrame normale ; ici en spécifiant la colonne Durée pour le graphe
# <codecell>
Syncs.loc[Syncs['Speaker']=="spk1"]['Durée'].plot()
# <markdowncell>
# Calcul du graphe de Longueur et Durée pour le spk1 en fonction du numéro de Sync (pas de la timeline)
# <codecell>
Syncs.loc[Syncs['Speaker']=="spk1"][["Longueur","Durée"]].plot()
# <codecell>