Combinando dos series en un DataFrame en pandas

Resuelto user7289 asked hace 11 años • 9 respuestas

Tengo dos Series s1y s2con los mismos índices (no consecutivos). ¿Cómo combino s1y s2soy dos columnas en un DataFrame y mantengo uno de los índices como tercera columna?

user7289 avatar Aug 05 '13 22:08 user7289
Aceptado

Creo concatque es una buena manera de hacer esto. Si están presentes, utiliza los atributos de nombre de la Serie como columnas (de lo contrario, simplemente los numera):

In [1]: s1 = pd.Series([1, 2], index=['A', 'B'], name='s1')

In [2]: s2 = pd.Series([3, 4], index=['A', 'B'], name='s2')

In [3]: pd.concat([s1, s2], axis=1)
Out[3]:
   s1  s2
A   1   3
B   2   4

In [4]: pd.concat([s1, s2], axis=1).reset_index()
Out[4]:
  index  s1  s2
0     A   1   3
1     B   2   4

Nota: Esto se extiende a más de la Serie 2.

Andy Hayden avatar Aug 05 '2013 15:08 Andy Hayden

Puede usarlo to_framesi ambos tienen los mismos índices.

>=v0.23

a.to_frame().join(b)

<v0.23

a.to_frame().join(b.to_frame())
swmfg avatar Feb 25 '2016 00:02 swmfg