Je suis en cours d'exécution d'une analyse sur plusieurs grands ensembles de données (au total beaucoup plus grand que ma RAM). Pour faciliter mon travail, je charge les jeux de données en utilisant numpy.memmap
(après les avoir enregistrés dans des fichiers .npy individuels générés à partir de jeux de données tomographiques).numpy.memap, Pandas dataframe et Seaborn boxplot Troubles
Après extraction de plusieurs valeurs à partir des ensembles de données que je Collectionnez ces valeurs dans un dataframe Pandas. Les valeurs s'affichent bien lorsque je les regarde (par exemple, via df.head()
).
Je voudrais maintenant visualiser les valeurs avec quelque chose comme seaborn.boxplot(data=df, x='Treatment', y='Tumor_Vol', hue='Experiment_Day')
, mais je reçois l'erreur qui
ValueError: List of boxplot statistics and `positions` values must have same the length
Il me semble que cela est dû aux valeurs mappés en mémoire, depuis exactement la même commande fonctionne lorsque je sauvegarde la trame de données dans un fichier CSV et que je la charge à partir du disque (qui est ma solution de contournement actuelle).
Ainsi --- faute de meilleurs mots --- est-il un moyen que je peux les valeurs non MemoryMap et de les enregistrer en tant que valeurs « réelles » à une trame de données?
Vous pouvez simplement appeler 'copy' sur le sous-ensemble des données que vous êtes intéressé à tirer dans la RAM. par exemple. 'Data_subset = memmap_data. [I: j] .copy()' – Elliot
Ne semble pas aider, avec 'plot_copy = df.ix [:, [ 'Tumor_vol', 'Experiment_Day', 'traitement']] copie() 'Je reçois toujours le type' 'pour i dans plot_copy ['Tumor_vol']. –
Habi
Si vous incluez un exemple minimum, complet et vérifiable (http://stackoverflow.com/help/mcve), je pourrais être en mesure de pirater quelque chose ensemble. Sinon, il est difficile de reconstituer ce que vous essayez et ce qui ne fonctionne pas. – Elliot