2 votes

Conversion entre "pandas.Series" en tableau numpy"

J'ai un pandas.Series dont chaque élément est un numpy.array, Par exemple:

p = pandas.Series([numpy.array([1,2]), numpy.array([2,4])])

J'essaie de convertir l'ensemble du Series en un numpy.array multidimensionnel (2,2), pour cela j'utilise la méthode values du Series, mais celle-ci renvoie un tableau unidimensionnel de numpy dont chaque élément dans le tableau est un numpy.array et le type de données du tableau est object:

In [18]: p = pandas.Series([numpy.array([1,2]), numpy.array([2,4])])

In [19]: p.values
Out[19]: array([array([1, 2]), array([2, 4])], dtype=object)

Le résultat que je souhaite obtenir est comme si le series avait été créé en tant que tableau numpy

In [23]: a = numpy.array([numpy.array([1,2]), numpy.array([2,4])])

In [24]: a
Out[24]:
array([[1, 2],
       [2, 4]])

In [25]: a.shape
Out[25]: (2, 2)

Est-ce que quelqu'un a une idée de comment réaliser une telle conversion? La méthode to_numpy ne fonctionne pas non plus pour moi.

0voto

Alexandra Dudkina Points 2965

Je suggèrerais la conversion suivante :

import numpy as np
import pandas as pd

p = pd.Series([np.array([1,2]), np.array([2,4])])
np.array(p.values.tolist()).shape

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X