Как найти минимум в строке с переменными столбцами python pandas - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь ниже:

df ['best_rate'] = df.loc [ df [[ 'a', 'b', 'c', ..... , 'z' ]] ].min(axis=1)

где a, b, c, ..., z - столбцы в df.

Теперь, из-за некоторых предыдущих утверждений, некоторые из этих столбцов будут недоступны, когда я пытаюсь найти минимум. По сути, эти столбцы были бы исключены, как если бы я применил dropna (). Но какой столбец будет удален, зависит от набора данных.

Теперь я должен найти минимум после того, как некоторые столбцы пропущены. Я не знаю, какие столбцы выпали. Но я знаю, что новый набор столбцов будет подмножеством столбцов, прежде чем я урону столбцы. Так как же игнорировать те столбцы, которые были отброшены при попытке найти минимум?

Если я использую:

df ['best_rate'] = df.loc [ df [[ 'a', 'b', 'c', ..... , 'z' ]] ].min(axis=1)

Я получаю ошибку: column 'x' not in index

1 Ответ

0 голосов
/ 09 ноября 2018

Примерно так должно работать:

df['best_rate'] = df.loc[:, set([ 'a', 'b', 'c', ..... , 'z' ]) & set(df.columns)].min(axis=1)

Он использует set intersect для поиска общих столбцов между вашим предварительно заданным списком и существующими столбцами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...