Bonjour à tous,

Je suis débutante sur Python et j'ai vraiment du mal avec les passages d'un format d'objet à un autre.

Je récupère une immense matrice d'environ 220 000 lignes * 9 colonnes d'un fichier CSV via pandas.
J'obtiens donc un data frame.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 import pandas as pd
toto = pd.DataFrame
data_test = pd.DataFrame(pd.read_csv('anabena.csv', sep=";"))
data_test = data_test.drop(columns='Unnamed: 8')
Voici mon fichier importé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
         ID       FWS    SWS HS FL Red HS FL Orange HS    SWS LS  FL Red LS  \
0         0         0         0         0            0         0          0   
1         0         0         0         0            0         0          0   
2         0  8,545183  97,65923  30,36592     3,967407  4,882962  0,7629628   
3         0  11,59703  131,3822  39,97925     5,035554  6,103702    1,22074   
4         0   12,2074  133,8237  39,52147     4,425184  5,951109    1,22074   
5         0  12,97037  135,0444  39,97925     3,662221  6,103702    1,22074   
6         0  13,88592  135,0444   41,0474     3,051851  6,408887    1,22074   
    ...       ...       ...       ...          ...       ...        ...   
220826  592  25,63555  39,67406  7,019258     1,678518  4,577776  0,6103702   
220827  592   26,5511  62,25776  7,019258     2,136296  5,035554  0,7629628   
220828  592  27,77184  98,11701  7,019258     2,899259  5,798517  0,7629628   
220829  592  29,29777  148,1674  6,714072     3,662221  7,019258  0,7629628   
220830  592   30,6711  207,5259   6,56148     4,272592  8,087405  0,7629628   
220831  592  31,58666  263,5273   6,56148     4,272592  9,155553  0,7629628   
220832  592  31,89184  299,3866  6,408887     3,814814  9,918516  0,7629628

Je n'arrive pas à ensuite créer un nouvel objet (ou plusieurs) contenant pour chaque ID l'ensemble des points lui correspondant. En fait, j'ai 8 colonnes avec un nombre de points variables pour chaque ID et je n'arrive pas à grouper tous les points de chaque colonne dans un seul objet correspondant à l'ID.

J'ai essayé de passer en dictionnaire, en liste mais je dois certainement mal m'y prendre. J'ai surtout utilisé pandas mais honnêtement je ne comprends pas comment cela fonctionne. Après je me suis dit que je pouvais faire un dictionnaire de dictionnaire mais je ne trouve pas comment le fabriquer...

Sous R, j'utilise la fonction by qui me détecte les valeurs d'ID et qui me fait une liste contenant 8 listes pour chaque ID. Peut être connaissez vous un équivalent Python ?

En vous remerciant,