База данных отдела кадров Pandas: отображение имени, зарплаты и номера отдела для тех сотрудников, чье имя не содержит буквы «M»
Запросы к базе данных Pandas HR: упражнение-7 с решением
Напишите программу Pandas для отображения имени, фамилии, оклада и номера отдела для тех сотрудников, чье имя не содержит буквы «M».
Пример решения :
Код Python:
import pandas as pd
employees = pd.read_csv(r"EMPLOYEES.csv")
departments = pd.read_csv(r"DEPARTMENTS.csv")
job_history = pd.read_csv(r"JOB_HISTORY.csv")
jobs = pd.read_csv(r"JOBS.csv")
countries = pd.read_csv(r"COUNTRIES.csv")
regions = pd.read_csv(r"REGIONS.csv")
locations = pd.read_csv(r"LOCATIONS.csv")
print("Last name First name Salary Department ID")
result = employees[employees['first_name'].str.find('M')==-1]
for index, row in result.iterrows():
print(row['last_name'].ljust(15),row['first_name'].ljust(15),str(row['salary']).ljust(9),row['department_id'])
Пример вывода:
Фамилия Имя ID отдела зарплаты Кинг Стивен 24000 90,0 Коххар Нина 17000 90,0 Де Хаан Лекс 17000 90.0 Hunold Alexander 9000 60,0 Эрнст Брюс 6000 60,0 Остин Дэвид 4800 60,0 Pataballa Valli 4800 60,0 Лоренц Диана 4200 60,0 Гринберг Нанси 12000 100,0 Фавиет Даниэль 9000 100,0 Чен Джон 8200 100,0 Sciarra Ismael 7700 100.0 Попп Луис 6900 100.0 Raphaely Den 11000 30,0 Ху Александр 3100 30,0 Байда Шелли 2900 30,0 Тобиас Сигал 2800 30,0 Химуро Гай 2600 30,0 Кольменарес Карен 2500 30,0 Фрипп Адам 8200 50,0 Кауфлинг Пайам 7900 50,0 Фольман Шанта 6500 50,0 Моргос Кевин 5800 50,0 Найер Юлия 3200 50,0 Миккилинени Ирина 2700 50,0 Лэндри Джеймс 2400 50.0 Маркл Стивен 2200 50,0 Биссо Лора 3300 50,0 Марлоу Джеймс 2500 50,0 Олсон TJ 2100 50,0 Маллин Джейсон 3300 50,0 Джи Ки 2400 50,0 Philtanker Hazel 2200 50,0 Ladwig Renske 3600 50.0 Стайлз Стивен 3200 50,0 Сео Джон 2700 50,0 Патель Джошуа 2500 50,0 Райс Тренна 3500 50,0 Дэвис Кертис 3100 50,0 Матос Рэндалл 2600 50,0 Варгас Питер 2500 50,0 Рассел Джон 14000 80,0 Партнеры Карен 13500 80,0 Эрразуриз Альберто 12000 80.0 Cambrault Gerald 11000 80,0 Zlotkey Eleni 10500 80,0 Такер Питер 10000 80.0 Бернштейн Давид 9500 80,0 Зал Петра 9000 80,0 Олсен Кристофер 8000 80,0 Cambrault Nanette 7500 80.0 Туво Оливер 7000 80,0 Король джанет 10000 80,0 Салли Патрик 9500 80,0 McEwen Allan 9000 80,0 Смит Линдси 8000 80,0 Доран Луиза 7500 80,0 Sewall Sarath 7000 80,0 Вишней Клара 10500 80,0 Грин Даниэль 9500 80,0 Ли Дэвид 6800 80,0 Анд Сундар 6400 80,0 Банда Амит 6200 80,0 Озер Лиза 11500 80.0 Блум Харрисон 10000 80.0 Фокс Тайлер 9600 80.0 Смит Уильям 7400 80,0 Бейтс Элизабет 7300 80,0 Кумар Сундита 6100 80,0 Абель Эллен 11000 80,0 Хаттон Алисса 8800 80,0 Тейлор Джонатон 8600 80,0 Ливингстон Джек 8400 80,0 Грант Кимберели 7000 нан Джонсон Чарльз 6200 80,0 Тейлор Уинстон 3200 50,0 Fleaur Jean 3100 50.0 Geoni Girard 2800 50,0 Сарчанд Нандита 4200 50.0 Бык Алексис 4100 50.0 Деллингер Юлия 3400 50,0 Cabrio Anthony 3000 50,0 Чунг Келли 3800 50,0 Дилли Дженнифер 3600 50,0 Ворота Тимофея 2900 50,0 Перкинс Рэндалл 2500 50,0 Белл Сара 4000 50,0 Эверетт Бритни 3900 50,0 Маккейн Самуэль 3200 50,0 Джонс Вэнс 2800 50,0 Уолш Алана 3100 50,0 Фини Кевин 3000 50,0 Оконнелл Дональд 2600 50,0 Грант Дуглас 2600 50,0 Кит Дженнифер 4400 10,0 Fay Pat 6000 20.0 Маврис Сьюзен 6500 40,0 Baer Hermann 10000 70,0 Хиггинс Шелли 12000 110,0 Гитц Уильям 8300 110,0
Эквивалентный синтаксис SQL:
ВЫБЕРИТЕ имя, фамилию, зарплату, идентификатор отдела ОТ сотрудников ГДЕ first_name НЕ НРАВИТСЯ '% M%';
Нажмите, чтобы просмотреть таблицу, содержащую:
Редактор кода Python:
Структура базы данных персонала :
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу Pandas для отображения имени, фамилии, оклада и номера отдела для тех сотрудников, чье имя начинается с буквы «S».
Далее: Напишите программу Pandas для отображения имени, фамилии, оклада и номера отдела в порядке возрастания номера отдела.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования