pandas DataFrame diagonal
¿Cuál es una manera eficiente de obtener la diagonal de un cuadrado?DataFrame
. Esperaría que el resultado sea unSeries
con unMultiIndex
con dos niveles, el primero es el índice de laDataFrame
el segundo nivel son las columnas de laDataFrame
.
import pandas as pd
import numpy as np
np.random.seed([3, 1415])
df = pd.DataFrame(np.random.rand(3, 3) * 5,
columns = list('abc'),
index = list('ABC'),
dtype=np.int64
)
Quiero ver esto:
print df.stack().loc[[('A', 'a'), ('B', 'b'), ('C', 'c')]]
A a 2
B b 2
C c 3