J'essaie de scinder une colonne en plusieurs colonnes en fonction de la séparation par virgule/espace.
Mon cadre de données ressemble actuellement à
KEYS 1
0 FIT-4270 4000.0439
1 FIT-4269 4000.0420, 4000.0471
2 FIT-4268 4000.0419
3 FIT-4266 4000.0499
4 FIT-4265 4000.0490, 4000.0499, 4000.0500, 4000.0504,
J'aimerais
KEYS 1 2 3 4
0 FIT-4270 4000.0439
1 FIT-4269 4000.0420 4000.0471
2 FIT-4268 4000.0419
3 FIT-4266 4000.0499
4 FIT-4265 4000.0490 4000.0499 4000.0500 4000.0504
Mon code supprime actuellement la colonne KEYS et je ne sais pas pourquoi. Quelqu'un pourrait-il améliorer ou aider à résoudre le problème?
v = dfcleancsv[1]
#splits the columns by spaces into new columns but removes KEYS?
dfcleancsv = dfcleancsv[1].str.split(' ').apply(Series, 1)
Si quelqu'un d'autre souhaite séparer une colonne unique (avec des listes incorporées, délimitées par une virgule) en plusieurs colonnes (sans le pd.concat), essayez ceci:
data[0].str.split(',', expand=True)
Cela répond à la question que je suis venu chercher ici.
Utiliser Edchums réponse de
pd.concat([df[[0]], df[1].str.split(', ', expand=True)], axis=1)
J'ai pu le résoudre en substituant mes variables.
dfcleancsv = pd.concat([dfcleancsv['KEYS'], dfcleancsv[1].str.split(', ', expand=True)], axis=1)
peut-être que cela devrait marcher:
df = pd.concat([df['KEYS'],df[1].apply(pd.Series)],axis=1)