GroupBy et convertir DataFrame en dictionnaire de listes
Étant donné un fichier Excel contenant des données structurées, le but est d'extraire les données, de les regrouper par une colonne spécifique et stockez-la dans un dictionnaire Python avec des listes comme valeurs. Le format des données dans la feuille Excel est :
Column1 | Column2 | Column3 |
---|---|---|
0 | 23 | 1 |
1 | 5 | 2 |
1 | 2 | 3 |
1 | 19 | 5 |
2 | 56 | 1 |
2 | 22 | 2 |
3 | 2 | 4 |
3 | 14 | 5 |
4 | 59 | 1 |
5 | 44 | 1 |
5 | 1 | 2 |
5 | 87 | 3 |
Solution 1 : groupby.apply().to_dict()
Pour convertir les données dans le dictionnaire souhaité format, suivez ces étapes :
<code class="python">import pandas as pd excel = pd.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols='A,C') result = excel.groupby('Column1')['Column3'].apply(list).to_dict() print(result)</code>
Solution 2 : Compréhension du dictionnaire
Vous pouvez également utiliser une compréhension du dictionnaire pour obtenir le même résultat :
<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']} print(result)</code>
Le résultat des deux solutions sera :
{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!