La fonction de fusion Pandas est un outil puissant pour remodeler des trames de données, transformant des données larges en un format long et ordonné. Cela rend les données plus faciles à analyser et à manipuler.
Considérez le dataframe et le dictionnaire suivants :
df = pd.DataFrame([[2, 4, 7, 8, 1, 3, 2013], [9, 2, 4, 5, 5, 6, 2014]], columns=['Amy', 'Bob', 'Carl', 'Chris', 'Ben', 'Other', 'Year']) d = {'A': ['Amy'], 'B': ['Bob', 'Ben'], 'C': ['Carl', 'Chris']}
L'objectif est de remodeler le dataframe en un format soigné avec des colonnes supplémentaires :
Group Name Year Value 0 A Amy 2013 2 1 A Amy 2014 9 2 B Bob 2013 4 ... 10 Other 2013 3 11 Other 2014 6
La fonction de fusion à elle seule ne complètera pas la transformation. Pour obtenir le résultat souhaité, nous devons également manipuler le dictionnaire :
m = pd.melt(df, id_vars=['Year'], var_name='Name') d2 = {} for k, v in d.items(): for item in v: d2[item] = k m['Group'] = m['Name'].map(d2)
Enfin, nous déplaçons 'Autre' de la colonne 'Nom' vers la colonne Colonne « Groupe » :
mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
Le dataframe résultant correspond désormais au format souhaité. La fonction de fusion, combinée à quelques manipulations supplémentaires, offre un moyen flexible et efficace de remodeler les trames de données.
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!