Je suis nouveau en python et je veux créer plusieurs trames de données à partir d'une autre trame de données dans une boucle. J'ai un dataframe comme ci-dessous et je veux créer des dataframes pour chaque période et je veux mettre l'identifiant de la période comme nom pour chaque dataframe créé.
id period
1 1167
2 1167
3 1168
4 1168
5 1169
6 1169
...
j'ai essayé quelque chose comme ci-dessous
for i in KAI_stores['period']: i=pd.DataFrame()
à la fin je veux avoir
first df named as 1167
id period
1 1167
2 1167
second df named as 1168
id period
3 1168
4 1168
and ... for each period
Créez un dict avec 3 entrées où la clé est la période et la valeur est le sous-ensemble de données correspondant :
dfs = dict(list(df.groupby('period')))
>>> dfs[1167]
id period
0 1 1167
1 2 1167
>>> dfs[1168]
id period
2 3 1168
3 4 1168
>>> dfs[1169]
id period
4 5 1169
5 6 1169
N'utilise pas ça
Si vous voulez vraiment créer 3 variables df1167
, df1168 and
df1169` qui peuvent être directement accessibles par leur nom :
for period, subdf in df.groupby('period'):
locals()[f'df_{period}'] = subdf
>>> df_1167
id period
0 1 1167
1 2 1167
>>> df_1168
id period
2 3 1168
3 4 1168
>>> df_1169
id period
4 5 1169
5 6 1169
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots