Considérons un DataFrame Pandas avec une colonne contenant des listes :
import pandas as pd df = pd.DataFrame({"teams": [[["SF", "NYG"]] for _ in range(7)]}) teams 0 [[SF, NYG]] 1 [[SF, NYG]] 2 [[SF, NYG]] 3 [[SF, NYG]] 4 [[SF, NYG]] 5 [[SF, NYG]] 6 [[SF, NYG]]
Pour transformer cette colonne en deux colonnes individuelles, suivez ce qui suit étapes :
import pandas as pd d1 = {'teams': [['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'], ['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG']]} df2 = pd.DataFrame(d1) print (df2) teams 0 [SF, NYG] 1 [SF, NYG] 2 [SF, NYG] 3 [SF, NYG] 4 [SF, NYG] 5 [SF, NYG] 6 [SF, NYG]
Attribuer un nouveau DataFrame avec les colonnes souhaitées :
df2[['team1','team2']] = pd.DataFrame(df2.teams.tolist(), index= df2.index) print (df2) teams team1 team2 0 [SF, NYG] SF NYG 1 [SF, NYG] SF NYG 2 [SF, NYG] SF NYG 3 [SF, NYG] SF NYG 4 [SF, NYG] SF NYG 5 [SF, NYG] SF NYG 6 [SF, NYG] SF NYG
Alternativement, un nouveau DataFrame peut être créé séparément :
df3 = pd.DataFrame(df2['teams'].to_list(), columns=['team1','team2']) print (df3) team1 team2 0 SF NYG 1 SF NYG 2 SF NYG 3 SF NYG 4 SF NYG 5 SF NYG 6 SF NYG
Remarque : Utilisation apply(pd.Series) pour cette opération peut être nettement plus lente que les méthodes décrites ci-dessus.
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!