.

Сделать репост в соц сети!

воскресенье, 20 декабря 2020 г.

Открытый он-лайн курс Python для HR

Решил написать открытый он-лайн курс Python для HR. Открытый - значит бесплатный (но я, конечно, не откажусь от доната

  1. Номер карты Сбербанка 4274 2780 5167 5026
  2. Карта Тинкофф банк 5280 4137 5046 3700

если Вам курс будет полезен). Видеолекции буду выкладыать на YouTube канале HR-аналитики - рекомендую подписаться и следить за каналом. Рекомендую также свои курсы



Цели курса Python для HR 

  1. познакомить с Python
  2. показать примеры решения задач аналитики / авоматизации операций HR через Python 

Как будет реализован курс Python для HR:

  • Буду выкладывать видео, начиная с базового уровня, чтобы было понятно тем, кто делает первые шаги. 
  • Видео будут выкладываться по мере написания роликов, поэтому это скорее серия видеолекций. 
  • И третье: надеюсь, тематика будет рождаться в том числе на основе обратной связи. На первом этапе тематика понятна: загрузка данных, манипуляции с данными, визуализации. А что дальше? Матстатистика? Парсинг сайтов? Анализ текстов? Прикладные задачи типа расчета текучести / автоматизация расчета премий и все такое? В этом месте нужна будет ваша помощь.

В общем посмотрим, как пойдет. 

  1. До курса надо устаовить дистрибутив Anaconda и Jupyter Notebook, см. Как установить Anaconda Python и Jupyter Notebook
  2. Или, если нет возможности установить, можно воспользоваться инструментом от Google, см. Google Colab для новичков (изучаем Python)

Содержание курса

1. Загрузка данных 

  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 "руками"
  2. Как загрузить excel файл в google colab с локального компьютера - если вы не установили Anaconda и Jupyter Notebook, то рекомендую посмотреть данное видео, поскольку загрузка файлов с Вашего локального компа отличается от загрузки в Jupyter Notebook
  3. Как загрузить и объединить несколько файлов в Jupyter Notebook - загружаем и объединяем сразу несколько файлов excel, изучаем формулы pd.append(), pd.merge()
    • формула pd.append() - объединяем несколько датасетов в один
    • библиотека glob - скачиваем названия файлов
    • пишем первый цикл for in для автоматизации загрузки и слияния нескольких файлов
    • pd.to_excel() - выгрузка из ноутука в excel 
    • pd.merge() - сливаем данные по типа ВПР в excel
  4. Как загрузить данные в Jupyter Notebook Python из Google таблиц и из интенета
    • загрузка данных из Google таблиц
    • загрузка данных из интернета pd.read_html()

2. Pandas DataFrame: знакомство, манипуляции с данными

фильтр, сортировка, описательные статистики, агрегация, пропущенные значе
  1. Pandas DataFrame: общий обзор данных, сортировка, фильтр 
    • переименование ноутбука в Notebook 
    • закомментировать выражение 
    • df.info()
    • Типы данных pandas 
    • df.shape
    • df.values
    • df.columns
    • df.index
    • df.sort_values() - сортировка
    • Фильтр по колонкам (отбор переменных)
    • Фильтр по строкам
    • isin() - фильтр сразу двух и более уровней категориальной переменной
  2. Pandas DataFrame: индекс отбор строк и переменных на основе индекса
    • df.index
    • df.set_index() создаем индекс
    • df.reset_index() сбрасываем индекс
    • df.loc() отбор строк / переменных на оcнове имен индекса
    • df.iloc() отбор строк / переменных на оcнове позиции индекса
    • отбор, когда индекс имеет формат даты
  3. Pandas Python описательные статистики
    • mean(), median(), min(), max(), std(), sum(), quantile() 
    • agg()
    • pd.set_option() меняем научный формат данных 5.000e+03 на привычный нам формат 5 000
    • describe()
    • describe(include = 'object') - описательные статистики для категориальных переменных
    • value_counts()
  4. Pandas Python работа с пропущенными значениями
    • isna()
    • isna().any()
    • isna().sum()
    • визуализация числа пропущенных значений по переменным 
    • dropna()
    • inplace=True
    • fillna()
  5. Pandas Python агрегация данных сводные таблицы 
    • groupby()
    • pivot_table()
    • crosstab()

3. Визуализация matplotlib 

  1. Знакомство с 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()
    • Цикл для значений диаграммы
  2. Matplotlib компоненты figure axes
    • figure, axes
    • facecolor
    • figsize=()
    • ax.tick_params, ax.grid(), ax.set_xlabel(), ax.set_ylabel(), ax.set_title()
    • ax.annotate
  3. Python Matplotlib subplots несколько диаграмм - на прошлой лекции мы построили диаграмму динамики уволенных по месяцам, в этой - посмотрим на динамику в разрезе причин увольнения - построим несколько диаграмм на одном листе
    • plt.subplots() 
    • координаты позиций диаграмм 
    • squeeze 
    • sharey
  4. Matplotlib кастомизация plt subplots - мы разместили несколько диаграмм на одном листе, а теперь всю кастомизацию "зашиваем" в одну формулу.
    • plt.tight_layout() - настраивает размеры диаграмм так, чтобы подписи и заголовки умещались в размер 
    • ax.xaxis.set_major_locator(plt.MultipleLocator()) - подписи оси X разреживаем - даем их не подряд по всем значениям, а пропускам часть, чтобы подписи не сливались, а были читаемы
  5. Гистограмма распределения зарплат 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() - подписи данных
  6. Matplotlib barplot распределение респондентов по сферам деятельности медианы зарплат по группам
    • groupby('var').size() - агрегируем данные по сфере деятельности респондентов
    • df.replace() меняем некорректное значение данных 
    • ax.bar(x.index, y.values) - визуализирем распределение респондентов по сферам деятельности 
    • df.groupby('var')['zp'].median().sort_values(ascending=False) - считаем меины зарплат по группам сфер деятельности респондентов
    • визуализируем медианы зарплат 
    • добавляем стандартное отклонение к данным и визуализируем errorbar
  7. Boxplot Ящик с усами matplotlib pandas распределение зарплат по группам 
    • ax.boxplot()
    • df.boxplot(column, , ax=ax)
    • распологаем ящики в порядке возрастания / убывания
  8. Scatterplot Точечная диаграмма matplotlib взаимосязь возраста и зарплаты респондентов
  9. Стиль диаграммы сохранить лиаграмму как рисунок plt style use savefig matplotlib 
    • plt.style.use() 
    • fig.savefig()

4. "Чистка", cleaning данных

  1. Python cleaning data чистка данных str strip replace 
    • str.strip()
    • rstrip() lstrip()
    • .replace()
    • как одной командой провести все преобразования данных
    • как обработать сразу несколько переменных pandas
  2. Раcчет стажа сотрудников Pandas Python формат дат
    • notnull()
    • pandas.to_datetime()
    • создаем переменную event
    • считаем стаж
  3. Считаем eNPS сотрудников в Python Бинниг переменных
    • np.where 
    • pandas.cut
    • pandas.DataFrame.quantile
    • eNPS


Далее все новые видеолекции курса Python для HR будут выкладываться сюда.

Посты блога с тегом Python

См. также все посты блога с тегом Python, например, 


Комментариев нет:

Отправить комментарий