мин всех столбцов информационного кадра в диапазоне - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу найти минимальное значение каждой строки кадра данных, ограниченное только несколькими столбцами. Например: рассмотрим кадр данных размером 10 * 100. Я хочу, чтобы минимум 5 средних строк, и это становится размером 10 * 5.

Я знаю, чтобы найти мин, используя df.min (axis = 0), но я не знаю, как ограничить количество столбцов. Спасибо за помощь.

Я использую pandas lib.

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Следуя логике 'pciunkiewicz' c:

Сначала вы должны выбрать нужные столбцы. Вы можете использовать функции: .loc[..] или .iloc[..].

В первую очередь вы можете использовать имена столбцов. Когда требуется 2 аргумента, первый - это индекс строки. Второй столбцы.

df.loc[[rows], [columns]] # The filter data should be inside the brakets.
df.loc[:, [columns]] # This will consider all rows.

Вы также можете использовать .iloc. В этом случае вы должны использовать целые числа, чтобы найти данные. Таким образом, вам не нужно знать название столбцов, но их положение.

0 голосов
/ 10 апреля 2020

Вы можете начать с выбора интересующего среза столбцов и применить DataFrame.min() только к этому выбору:

df.iloc[:, start:end].min(axis=0)

Если вы хотите, чтобы это были средние 5, просто найдите целочисленные индексы которые соответствуют началу и концу этого диапазона:

start = int(n_columns/2 - 2.5)
end = start + 5
...