Что такое эффективный способ получить диагональ квадрата DataFrame
. Я ожидаю, что результатом будет Series
с MultiIndex
с двумя уровнями, первый из которых является индексом DataFrame
, вторым уровнем которого являются столбцы DataFrame
.pandas Диаграмма данных DataFrame
Настройка
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
)
Я хочу увидеть это:
print df.stack().loc[[('A', 'a'), ('B', 'b'), ('C', 'c')]]
A a 2
B b 2
C c 3
Вы избили меня до этого 'numpy.diag' - хорошее решение. Нужно ли передавать mutliindex? не будет ли это работать? 'pd.Series (np.diag (df), index = [df.index, df.columns])' – johnchase
@johnchase на самом деле это лучшее решение, я просто решил буквально сделать то, что ОП запросил – EdChum
@johnchase, пожалуйста, отправьте ответ с этим. просто запустил его и работал – piRSquared