J'ai un dictionnaire de dataframes que je veux combiner. Idéalement, je voudrais faire cela en mémoire comme ceci :
values = ['A','B','C']
dats = [dataset[x] for x in values] # obtenir une liste de dataframes à partir du dictionnaire de dataframes "dataset" (provoque un plantage du noyau)
dataset_df = pd.concat(dats, sort=False, join='outer', ignore_index=True) # concaténer les ensembles de données
Cependant, cela provoque un plantage du noyau, donc je dois me résoudre à mettre en conserve le dictionnaire d'abord et à récupérer les dataframes un par un, ce qui est très gourmand en performances :
dats = [get_dataset(x) for x in values] # get_dataset() récupère un dataframe à partir du disque
dataset_df = pd.concat(dats, sort=False, join='outer', ignore_index=True) # concaténer les ensembles de données
Le jeu de données combiné tient en mémoire aux côtés du jeu de données individuel. J'ai confirmé cela en l'ajoutant au dictionnaire de dataframes par la suite. Alors pourquoi le plantage du noyau ?
Est-ce que mettre des dataframes d'un dictionnaire dans une liste entraîne une utilisation excessive de la mémoire ?