Функция, которая при прохождении положительных значений в строке возвращает имя столбца, в противном случае возвращает строку «Не доступно» - PullRequest
1 голос
/ 24 апреля 2020

Мне нужна помощь. Я надеюсь, что нижеприведенное имеет смысл.

Представьте себе фрейм данных с числом строк X и, скажем, 100 столбцами.

Я хочу, чтобы моя функция располагала в порядке убывания все значения в данной строке , Затем из этих упорядоченных значений, дайте мне имя столбца первых 10

До этого, вот что делает для меня функция ниже.

def return_most_common_venues(row, 10):
    row_categories = row.iloc[1:]
    row_categories_sorted = row_categories.sort_values(ascending=False)

    return row_categories_sorted.index.values[0:10]

Дополнительно ...

Проблема, с которой я столкнулся, состоит в том, что в строке меньше 10 положительных значений То есть остальные нули.

Из этих первых 10 упорядоченных значений, скажем, позиции 9 и 10 являются нулями. Я хотел бы, чтобы вместо того, чтобы давать мне имя столбца для этих нулевых значений, я хотел бы, чтобы он возвращал строку с надписью «Недоступно».

Как изменить указанную выше функцию так, чтобы она возвращала то, что мне нужно.

Спасибо за помощь!

1 Ответ

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

Вы можете заменить их в списке

row_cat = row_categories_sorted.index.values[0:10]
replaced_row_cat = ['Not Available' if not c else c for c in row_cat]
return replaced_row_cat

Или просто

new_cat=[]
for cat in row_categories_sorted.index.values[0:10]:
    if cat == 0:
        new_cat.append("Not available")
    else:
        new_cat.append(c)
return new_cat
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...