J'essaie de créer plusieurs blocs de données à partir d'un seul bloc de données. J'ai réussi à réaliser le processus en répétant la même ligne de code, mais cela a l'air fastidieux et n'est pas rapide. Je veux créer une boucle qui parcourt le cadre de données et créer des cadres de données pour moi. J'ai également une liste de copie de mon dataframe Intial (à partir duquel je veux créer plusieurs dataframes).

df_list = [df_0run,df_1run,df_2run,df_3run,df_4run,df_5run,df_6run]

S'il vous plaît suggérer une approche pour ma question.

df_0season1=df_0run.loc[df_0run['Season_Id']==1]
df_0season2=df_0run.loc[df_0run['Season_Id']==2]
df_0season3=df_0run.loc[df_0run['Season_Id']==3]
df_0season4=df_0run.loc[df_0run['Season_Id']==4]
df_0season5=df_0run.loc[df_0run['Season_Id']==5]
df_0season6=df_0run.loc[df_0run['Season_Id']==6]
df_0season7=df_0run.loc[df_0run['Season_Id']==7]
df_0season8=df_0run.loc[df_0run['Season_Id']==8]
df_0season9=df_0run.loc[df_0run['Season_Id']==9]

De cette manière, je souhaite créer plusieurs cadres de données et les renvoyer sous forme de liste. ou plusieurs listes.

Sortie requise

Seasons list = [df_0season1,df_0season2,df_0season3,df_0season4,df_0season5,df_0season6,df_0season7,df_0season8,df_0season9, 
df_1season1,df_1season2,df_1season3,df_1season4,df_1season5,df_1season6,df_1season7,df_1season8,df_1season9, 
df_2season1,df_2season2,df_2season3,df_2season4,df_2season5,df_2season6,df_2season7,df_2season8,df_2season9, 
df_3season1,df_3season2,df_3season3,df_3season4,df_3season5,df_3season6,df_3season7,df_3season8,df_3season9, 
df_4season1,df_4season2,df_4season3,df_4season4,df_4season5,df_4season6,df_4season7,df_4season8,df_4season9,
 df_5season1,df_5season2,df_5season3,df_5season4,df_5season5,df_5season6,df_5season7,df_5season8,df_5season9]
1
Shinigami Sin of Wrath 16 sept. 2020 à 13:28

1 réponse

Meilleure réponse

Je pense que vous pouvez utiliser un peu d'aide de exec ici,

for i in range (1,10):
    exec("""df_0season{}=df_0run.loc[df_0run['Season_Id']=={}]""".format(i))

Ceci est juste une application de base de exec et vous pouvez le modifier selon vos besoins.

1
Noob Geek 16 sept. 2020 à 10:35