2
Как я могу (эффективно для матрицы, намного большей, чем представленный пример) возвращать имя столбца и индекс (или имя строки) для n
или наименьшее значениеВозвращает индекс и имя столбца n-го наибольшего значения в серии данных Pandas
import pandas as pd
import numpy as np
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
matrix = df.corr()
matrix
A B C D
A 1.000000 -0.814913 0.495993 -0.880296
B -0.814913 1.000000 -0.211421 0.551441
C 0.495993 -0.211421 1.000000 -0.414037
D -0.880296 0.551441 -0.414037 1.000000
Тогда я хотел бы сделать что-то такое, как
def get_n_smallest(matrix, n):
# can return as two variables, list, tuple, whatever...
return row_name, col_name
get_n_smallest(matrix,0)
# would return D, A for the value -.880296
@JohnGalt но это только самый низкий, а не п-й самый низкий – thefoxrocks
Правда, как о 'matrix.unstack() sort_values () индекс [.. n-1] 'для n-го наименьшего? – Zero