Как я могу получить 5 лучших имен с их рабочим временем, которые работали больше всего, используя фрейм данных pandas

Я хочу индивидуально печатать каждое имя с их рабочим временем одно за другим.

фрейм данных панд:

df = pd.DataFrame({'NAME': ['Joesph Morse', 'Katie Plotkin', 'Denny Heaps', 'Evelia Chesson', 'Drew Hassett', 'Robt Buckles', 'Suzy Lafler'], 'CITY': ["New York", "Boston", "Los Angeles", "Chicago", "Atlanta",
    "Salt Lake City", "Dallas"], 'WORK HOURS': [3, 7, 0, 6, 10, 1, 9]}
)

В настоящее время я ориентируюсь на столбец "Work Hours", где nlargest отфильтровывает верхние большие числа из строки, но это не помогает мне получить имя работника вместе с его часами работы. Как я могу получить их имена тоже?

row = df['WORK HOURS']
leading_workers =  row.nlargest(5, 'all')

print('Top First worker',leading_workers.values[0]) # user_1
print('Top Second worker',leading_workers.values[1]) # user_2
print('Top Third worker',leading_workers.values[2]) # user_3
print('Top Forth worker',leading_workers.values[3]) # user_4
print('Top Fifth worker',leading_workers.values[4]) # user_5
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
0
208
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Используйте DataFrame.nlargest с указанием имен столбцов для теста и выберите NAME для leading_workers:

leading_workers = df.nlargest(5, 'WORK HOURS', 'all')['NAME']

print (leading_workers)
4      Drew Hassett
6       Suzy Lafler
1     Katie Plotkin
3    Evelia Chesson
0      Joesph Morse
Name: NAME, dtype: object

for w in leading_workers:
    print (w)
Drew Hassett
Suzy Lafler
Katie Plotkin
Evelia Chesson
Joesph Morse

Спасибо, это то, что я искал :)

user14023488 14.12.2020 12:33
import pandas as pd
df = pd.DataFrame({'NAME': ['Joesph Morse', 'Katie Plotkin', 'Denny Heaps',
    'Evelia Chesson', 'Drew Hassett', 'Robt Buckles', 'Suzy Lafler'],

'CITY': ["New York", "Boston", "Los Angeles", "Chicago", "Atlanta",
    "Salt Lake City", "Dallas"],

'WORK HOURS': [3, 7, 0, 6, 10, 1, 9]}
)

df.sort_values(by='WORK HOURS',ascending=False,inplace=True)

Это еще один способ сделать это с выводом

    NAME            CITY            WORK HOURS
4   Drew Hassett    Atlanta         10
6   Suzy Lafler     Dallas          9
1   Katie Plotkin   Boston          7
3   Evelia Chesson  Chicago         6
0   Joesph Morse    New York        3
5   Robt Buckles    Salt Lake City  1
2   Denny Heaps     Los Angeles     0

и если вы хотите первые 5 строк

df.head(5)

    NAME            CITY            WORK HOURS
4   Drew Hassett    Atlanta         10
6   Suzy Lafler     Dallas          9
1   Katie Plotkin   Boston          7
3   Evelia Chesson  Chicago         6
0   Joesph Morse    New York        3
df.head() уже возвращает первые 5 строк, количество указывать не нужно
etch_45 14.12.2020 12:39

Другие вопросы по теме