j'ai une df telle quePandas: convertir chaque ligne à un <nom de la colonne, la valeur de la ligne> dict et ajouter une nouvelle colonne
STATUS_ID STATUS_NM
0 1 A
1 2 B
2 3 C
3 4 D
Je veux effectuer une ligne par appliquer pour obtenir une clé, valeur par par pour chaque ligne dans une colonne séparée. La df finale devrait être
STATUS
0 {STATUS_ID:1,STATUS_NM:A}
1 {STATUS_ID:2,STATUS_NM:B}
2 {STATUS_ID:3,STATUS_NM:C}
3 {STATUS_ID:4,STATUS_NM:D}
MISE À JOUR: J'ai essayé df[cols].apply(pd.Series.to_dict, axis=1)
et df[cols].apply(lambda x: x.to_dict(), axis=1)
mais au lieu d'obtenir le dict réelle, je reçois <built-in method values of dict object at 0x00...
Je crois que son ma version de pandas géants à l'origine du problème . Cela a été discuté ici - https://github.com/pandas-dev/pandas/issues/8735 Donc la question est de savoir s'il existe une autre façon d'effectuer la même opération pour contourner ce problème. Je ne peux pas mettre à jour ma version Pandas à 0,17
Avec quelle partie vous battez-vous? Définir un dictionnaire? Obtenir chaque rangée de la table? Ajouter une nouvelle colonne? Enlever les vieilles colonnes? Essayez d'être aussi précis que possible dans votre question afin que nous puissions vous aider. –
S'il vous plaît voir mes mises à jour. Merci – Fizi
@Fizi J'ai ajouté une solution de boucle explicite. Vérifiez s'il vous plaît. – ayhan