Печать индекса и значения самой большой фигуры в панде - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть фрейм данных pandas, и я хочу индекс и значение самой большой фигуры в определенном столбце.Сам столбец состоит из массивов с разной формой (99, 13), но встречаются также более крупные и более мелкие формы.Я уже поместил все фигуры в столбец с помощью merged_test['shapes'] = [x.shape for x in merged_test.MEL.values], но не могу использовать стандартные методы, чтобы найти самую большую фигуру, поскольку фигуры являются кортежами.Есть предложения?

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете сделать это, получив размер и индекс всех ваших элементов, используя np.product и перечислив, поместив их в массив данных, затем отсортировав по размеру по убыванию и взяв верхнюю строку:

#One-liner
pd.DataFrame([(i, np.product(x.shape)) for i, x in enumerate(merged_test.MEL.values)], columns=['index','size']).sort('size', ascending=False).iloc[0]

#Or splitting it out to see each step
inds_and_sizes = [(i, np.product(x.shape)) for i, x in enumerate(merged_test.MEL.values)]
df = pd.DataFrame(inds_and_sizes, columns=['index','size'])
df_sorted = df.sort('size', ascending=False)
biggest = df_sorted.iloc[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...