pandas DataFrame diagonal
Qual é uma maneira eficiente de obter a diagonal de um quadradoDataFrame
. Eu esperaria que o resultado fosse umSeries
com umMultiIndex
com dois níveis, o primeiro sendo o índice daDataFrame
o segundo nível são as colunas doDataFrame
.
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
)
Eu quero ver isso:
print df.stack().loc[[('A', 'a'), ('B', 'b'), ('C', 'c')]]
A a 2
B b 2
C c 3