Решил написать открытый он-лайн курс Python для HR. Открытый - значит бесплатный (но я, конечно, не откажусь от доната
- Номер карты Сбербанка 4274 2780 5167 5026
- Карта Тинкофф банк 5280 4137 5046 3700
если Вам курс будет полезен). Видеолекции буду выкладыать на YouTube канале HR-аналитики - рекомендую подписаться и следить за каналом. Рекомендую также свои курсы
- Принципы создания HR-дашбордов в excel
- Принципы создания и анализа корпоративных опросов
- Профиль успешного сотрудника: драйверы эффективности
- Текучесть персонала по-новому: расчет среднего срока жизни в Excel
- Он-лайн курс "Введение в R для HR"
- Анализ дожития / Survival analysis (в HR)
Цели курса Python для HR
- познакомить с Python
- показать примеры решения задач аналитики / авоматизации операций HR через Python
Как будет реализован курс Python для HR:
- Буду выкладывать видео, начиная с базового уровня, чтобы было понятно тем, кто делает первые шаги.
- Видео будут выкладываться по мере написания роликов, поэтому это скорее серия видеолекций.
- И третье: надеюсь, тематика будет рождаться в том числе на основе обратной связи. На первом этапе тематика понятна: загрузка данных, манипуляции с данными, визуализации. А что дальше? Матстатистика? Парсинг сайтов? Анализ текстов? Прикладные задачи типа расчета текучести / автоматизация расчета премий и все такое? В этом месте нужна будет ваша помощь.
В общем посмотрим, как пойдет.
- До курса надо устаовить дистрибутив Anaconda и Jupyter Notebook, см. Как установить Anaconda Python и Jupyter Notebook
- Или, если нет возможности установить, можно воспользоваться инструментом от Google, см. Google Colab для новичков (изучаем Python)
Содержание курса
1. Загрузка данных
- Знакомство с Jupyter Notebook загрузка данных из excel и csv
- знакомимся с ноутбуком (основные кнопки, ячейки кода / Markdown)
- загружаем библиотеку pandas
- загружаем данные из excel в ноутбук (pd.read_excel)
- df.head()
- параметры sheet_name, skiprows, nrows, header
- загружаем данные из csv в ноутбук (pd.read_csv), параметры sep, encoding (последняя команда важна, когда возникает проблема с загрузкой файла в кириллице)
- создаем DataFrame "руками"
- Как загрузить excel файл в google colab с локального компьютера - если вы не установили Anaconda и Jupyter Notebook, то рекомендую посмотреть данное видео, поскольку загрузка файлов с Вашего локального компа отличается от загрузки в Jupyter Notebook
- Как загрузить и объединить несколько файлов в Jupyter Notebook - загружаем и объединяем сразу несколько файлов excel, изучаем формулы pd.append(), pd.merge()
- формула pd.append() - объединяем несколько датасетов в один
- библиотека glob - скачиваем названия файлов
- пишем первый цикл for in для автоматизации загрузки и слияния нескольких файлов
- pd.to_excel() - выгрузка из ноутука в excel
- pd.merge() - сливаем данные по типа ВПР в excel
- Как загрузить данные в Jupyter Notebook Python из Google таблиц и из интенета
- загрузка данных из Google таблиц
- загрузка данных из интернета pd.read_html()
2. Pandas DataFrame: знакомство, манипуляции с данными
фильтр, сортировка, описательные статистики, агрегация, пропущенные значе- Pandas DataFrame: общий обзор данных, сортировка, фильтр
- переименование ноутбука в Notebook
- закомментировать выражение
- df.info()
- Типы данных pandas
- df.shape
- df.values
- df.columns
- df.index
- df.sort_values() - сортировка
- Фильтр по колонкам (отбор переменных)
- Фильтр по строкам
- isin() - фильтр сразу двух и более уровней категориальной переменной
- Pandas DataFrame: индекс отбор строк и переменных на основе индекса
- df.index
- df.set_index() создаем индекс
- df.reset_index() сбрасываем индекс
- df.loc() отбор строк / переменных на оcнове имен индекса
- df.iloc() отбор строк / переменных на оcнове позиции индекса
- отбор, когда индекс имеет формат даты
- Pandas Python описательные статистики
- mean(), median(), min(), max(), std(), sum(), quantile()
- agg()
- pd.set_option() меняем научный формат данных 5.000e+03 на привычный нам формат 5 000
- describe()
- describe(include = 'object') - описательные статистики для категориальных переменных
- value_counts()
- Pandas Python работа с пропущенными значениями
- isna()
- isna().any()
- isna().sum()
- визуализация числа пропущенных значений по переменным
- dropna()
- inplace=True
- fillna()
- Pandas Python агрегация данных сводные таблицы
- groupby()
- pivot_table()
- crosstab()
3. Визуализация matplotlib
- Знакомство с matplotlib Динамика увольнений по месяцам в Pandas Python
- dt.strftime("%Y-%m") извлекаем год и месяц из даты
- value_counts() агрегируем данные
- def fire(x) все действия по подсчету динамики автоматизируем в формуле
- plt.plot() визуализация
- кастомизация диаграммы: plt.axes(), plt.xticks(), plt.grid(), plt.xlabel(), plt.ylabel(), plt.title()
- plt.annotate()
- Цикл для значений диаграммы
- Matplotlib компоненты figure axes
- figure, axes
- facecolor
- figsize=()
- ax.tick_params, ax.grid(), ax.set_xlabel(), ax.set_ylabel(), ax.set_title()
- ax.annotate
- Python Matplotlib subplots несколько диаграмм - на прошлой лекции мы построили диаграмму динамики уволенных по месяцам, в этой - посмотрим на динамику в разрезе причин увольнения - построим несколько диаграмм на одном листе
- plt.subplots()
- координаты позиций диаграмм
- squeeze
- sharey
- Matplotlib кастомизация plt subplots - мы разместили несколько диаграмм на одном листе, а теперь всю кастомизацию "зашиваем" в одну формулу.
- plt.tight_layout() - настраивает размеры диаграмм так, чтобы подписи и заголовки умещались в размер
- ax.xaxis.set_major_locator(plt.MultipleLocator()) - подписи оси X разреживаем - даем их не подряд по всем значениям, а пропускам часть, чтобы подписи не сливались, а были читаемы
- Гистограмма распределения зарплат Matplotlib Python
- ax.hist
- help(ax.hist)
- ax.hist(x, range = ...) - границы гистограммы
- ax.hist(x, bins = ...) - управление примоугольниками
- ax.xaxis.set_major_locator(plt.IndexLocator(base = 20, offset =0))
- x.annotate() - подписи данных
- Matplotlib barplot распределение респондентов по сферам деятельности медианы зарплат по группам
- groupby('var').size() - агрегируем данные по сфере деятельности респондентов
- df.replace() меняем некорректное значение данных
- ax.bar(x.index, y.values) - визуализирем распределение респондентов по сферам деятельности
- df.groupby('var')['zp'].median().sort_values(ascending=False) - считаем меины зарплат по группам сфер деятельности респондентов
- визуализируем медианы зарплат
- добавляем стандартное отклонение к данным и визуализируем errorbar
- Boxplot Ящик с усами matplotlib pandas распределение зарплат по группам
- ax.boxplot()
- df.boxplot(column, , ax=ax)
- распологаем ящики в порядке возрастания / убывания
- Scatterplot Точечная диаграмма matplotlib взаимосязь возраста и зарплаты респондентов
- Стиль диаграммы сохранить лиаграмму как рисунок plt style use savefig matplotlib
- plt.style.use()
- fig.savefig()
4. "Чистка", cleaning данных
- Python cleaning data чистка данных str strip replace
- str.strip()
- rstrip() lstrip()
- .replace()
- как одной командой провести все преобразования данных
- как обработать сразу несколько переменных pandas
- Раcчет стажа сотрудников Pandas Python формат дат
- notnull()
- pandas.to_datetime()
- создаем переменную event
- считаем стаж
- Считаем eNPS сотрудников в Python Бинниг переменных
- np.where
- pandas.cut
- pandas.DataFrame.quantile
- eNPS
Далее все новые видеолекции курса Python для HR будут выкладываться сюда.
Посты блога с тегом Python
См. также все посты блога с тегом Python, например,
- Как считать Хи квадрат в Python
- Как вычислять Крускал Уоллис тест в Python
- Исследование email коммуникаций в компании
- Как я скачиваю вакансии компаний с HH.ru (на примере Газпрома)
- Снижение числа уровней категориальной переменной Pandas Python
- Как скачивать / парсить тексты постов блога blogspot
- Анализ тональности текста с использованием word2vec и реализацией в pipeline Python
Комментариев нет:
Отправить комментарий