2 votes

Pandas : concaténation itérative de colonnes stockées dans un dictionnaire de cadres de données

Supposons que je dispose d'un dictionnaire de pandas les cadres de données où les clés sont 0, 1, 2, ..., 999 et les valeurs sont des cadres de données comme celui-ci ( test_df ) :

          A         B         C
0  1.438161 -0.210454 -1.983704
1 -0.283780 -0.371773  0.017580
2  0.552564 -0.610548  0.257276
3  1.931332  0.649179 -1.349062
4  1.656010 -1.373263  1.333079
5  0.944862 -0.657849  1.526811

Disons que l'index ne signifie rien pour vous, et que vous voulez créer un nouveau cadre de données où les colonnes A et B sont concaténés :

mydf=pd.concat([test_df[0]['A'],test_df[0]['B']], axis=1, keys=['A','B'])

Maintenant, Puis-je utiliser cette ligne à l'intérieur d'une boucle for qui itère sur toutes les clés de mon dictionnaire de cadres de données ?

Si non, quelle serait une autre façon de procéder ? Le résultat serait un cadre de données à deux colonnes, A et B et 6x1000 rangs. La colonne d'index passerait donc de 0 à 5999 .

5voto

Psidom Points 115100

Si df_dic est votre dictionnaire, vous pouvez le faire :

pd.concat([df[['A', 'B']] for df in df_dic.values()]).reset_index(drop=True)

Voici à quoi ressemble le résultat si df_dic contient deux paires clé-valeur :

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X