Можно ли использовать элемент массива в качестве имени экземпляра класса?

Поскольку у вас несколько пар, это лучший способ, я думаю:

rs = r2.stack()
rs_min = rs[rs <= rs.min() + 1e-4] # I added some tolerance here
cols = rs_min.index.values

С вашими данными это дает мне

>>> rs_min.index.values
array([(0, 3), (2, 3), (3, 0), (3, 2)], dtype=object)

Если вы хотите сплюснутый список уникальных значений, вы можете преобразовать массив:

vals = list(set(item[1] for item in vals))

(вы можете использовать item[0] или item[1], потому что пары все равно симметричны), что дает

>>> list(set(item[1] for item in vals))
[0, 2, 3]

Исходя из ваших таблиц, обратите внимание, что Excel и Pandas дают разные результаты для корреляции. Этот код предполагает, что Pandas дает правильные результаты.

EDIT:

Если вы хотите вернуть исходные данные результатов, вы можете сделать

print(data[:, vals])

Это должно дать вам ваш результат.

0
задан Evan Hess 19 January 2019 в 22:07
поделиться