parmi une série de taille inconnue liste intérieure:Turning valeurs de colonnes en colonnes entières - Pandas
import pandas as pd
sr = pd.Series([['a', 'b', 'c', 'b'], ['a', 'a', 'd'], ['b']])
[out]:
0 [a, b, c, b]
1 [a, a, d]
2 [b]
L'objectif est d'utiliser des valeurs dans la liste intérieure pour créer les colonnes et remplir sa valeur avec le nombre des éléments de chaque ligne, soit
a b c d
0 1.0 2.0 1.0 NaN
1 2.0 NaN NaN 1.0
2 NaN 1.0 NaN NaN
J'ai essayé atteindre le t il au-dessus en parcourant chaque ligne et les convertir en Counter
objets et de recréer la trame de données en utilisant la liste des dictionnaires de compteur:
>>> from collections import Counter
>>> pd.DataFrame([dict(Counter(row)) for row in pd.Series([['a', 'b', 'c', 'b'], ['a', 'a', 'd'], ['b']])])
est-il un moyen plus simple de le faire? Peut-être avec .pivot()
?