Combinando dos series en un DataFrame en pandas
Tengo dos Series s1
y s2
con los mismos índices (no consecutivos). ¿Cómo combino s1
y s2
soy dos columnas en un DataFrame y mantengo uno de los índices como tercera columna?
Aceptado
Creo concat
que 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.
Puede usarlo to_frame
si ambos tienen los mismos índices.
>=v0.23
a.to_frame().join(b)
<v0.23
a.to_frame().join(b.to_frame())