Написал небольшую статейку про новые функции pandas, появившиеся в версии 0.25.0.
Из самого крутого: именованные агрегаты (попробуйте, вам понравится) и разворачивание колонок со списками (а ля unnest в postgresql).
Приятного чтения!
http://bit.ly/2YRVMgv
Из самого крутого: именованные агрегаты (попробуйте, вам понравится) и разворачивание колонок со списками (а ля unnest в postgresql).
Приятного чтения!
http://bit.ly/2YRVMgv
Medium
Что нового в Pandas 0.25.0
Небольшой обзор новых функций
Хорошая статья с детальным объяснением того, что под капотом у Pandas. Рассматриваются базовые концепции numpy, на основе которых работают практически все операции в Pandas, будь то создание срезов через булевы индексы, либо арифметические операции с колонками
http://heydenberk.com/blog/posts/demystifying-pandas-numpy-filtering/
http://heydenberk.com/blog/posts/demystifying-pandas-numpy-filtering/
Eric Heydenblog
Demystifying pandas and numpy filtering
In the course of analyzing data, one will inevitably want to remove items from a collection, leaving behind only the items which satisfy a condition. In vanilla python, there are two equivalent ways t
Наткнулся на статью (http://bit.ly/2YQHSQE) с перечнем рекомендаций для создания хороших тетрадок в Jupyter Notebook. Под «хорошестью» имеется в виду понятность, простота чтения, воспроизводимость. Это крайне важно, если вашей тетрадью будут пользоваться другие люди, и ещё более важно, когда речь идет о тетрадках-туториалах. Эти правила могут показаться «капитанскими», но полезно о них помнить:
1. Выстраивайте анализ как историю. Комбинируйте код, текст и визуализации в полноценный рассказ. Задумайтесь о том с какой целью вы публикуете тетрадку, кто целевая аудитория, которая будет читать и использовать код.
2. Документируйте процесс, а не только результат. Поэтому не скупитесь на текст, описывайте свои мысли, интересные наблюдения и какие выводы можно сделать из этих наблюдений. Может быть самоочевидным, что делает код, но не всегда из кода очевидно какими соображениями вы руководствовались, какие полезные инсайты получили.
3. Используйте ячейки, чтобы сделать ход алгоритма более ясным. Не пытайтесь запихнуть всё в одну ячейку, но и на каждый чих создавать новую ячейку не нужно. Одна ячейка - это один важный шаг анализа. Полезно давать к каждой ячейке краткий комментарий о том какую функцию она выполняет.
4. Не повторяйте себя. Несмотря на то, что тетрадки очень сильно склоняют к тому, чтобы делать множество почти одинаковых ячеек, создавайте функции для повторяющихся действий, делайте код модульным. Особенно это касается различных функций для вывода визуализаций, однотипных алгоритмов обработки данных.
5. Описывайте зависимости. Давайте исчерпывающее описание необходимых библиотек и их версий. Также можно генерировать файл с конфигурацией окружения, в котором запускался ноутбук. Ну а если вы дружите с докером, то можно даже сделать отдельный контейнер (хотя это существенно усложняет порог использования тетрадки, но если вы публикуете её для технически подкованных людей, то это может иметь смысл).
6. Используйте системы контроля версий. Это позволит отслеживать изменения и эффективнее управлять ими, например, быстро откатываться к предыдущей версии. На эту тему есть хорошая статья «How to Version Control Jupyter Notebooks». (https://nextjournal.com/schmudde/how-to-version-control-jupyter)
7. Выстраивайте полноценный пайплайн обработки данных. Идеально воспроизводимый анализ должен выполняться от А до Я без необходимости что-то обрабатывать вручную. Например, если вы предобрабатываете данные, то делайте это в ноутбуке. Также полезно делать ноутбуки параметризируемыми, чтобы быстро перезапускать весь процесс с другими входными данными. В этом может помочь Papermill. (загуглите, кто ещё не)
8. Вместе с ноутбуком старайтесь публиковать и данные. Не всегда это возможно из-за того, что датасет большой или содержит конфиденциальные данные. Но можно выложить отдельный кусок или попробовать нагенерить что-то похожее, если датасет непубличный.
9. Постарайтесь сделать так, чтобы ноутбук был читабельным, воспроизводимым и кастомизируемым. Смотри правила 3, 5 и 7.
10. Будьте тем, кто применяет эти правила. Будь то работа, ваша open-source активность или соревнования на Кагле. Чем больше будет воспроизводимых, читабельных и полезных ноутбуков - тем выше уровень открытости данных и компетенций.
Оригинал статьи: https://doi.org/10.1371/journal.pcbi.1007007. В самой статье есть ссылка на GitHub с парочкой примеров «хороших» тетрадок.
Медиум для шера http://bit.ly/2YZJym0
1. Выстраивайте анализ как историю. Комбинируйте код, текст и визуализации в полноценный рассказ. Задумайтесь о том с какой целью вы публикуете тетрадку, кто целевая аудитория, которая будет читать и использовать код.
2. Документируйте процесс, а не только результат. Поэтому не скупитесь на текст, описывайте свои мысли, интересные наблюдения и какие выводы можно сделать из этих наблюдений. Может быть самоочевидным, что делает код, но не всегда из кода очевидно какими соображениями вы руководствовались, какие полезные инсайты получили.
3. Используйте ячейки, чтобы сделать ход алгоритма более ясным. Не пытайтесь запихнуть всё в одну ячейку, но и на каждый чих создавать новую ячейку не нужно. Одна ячейка - это один важный шаг анализа. Полезно давать к каждой ячейке краткий комментарий о том какую функцию она выполняет.
4. Не повторяйте себя. Несмотря на то, что тетрадки очень сильно склоняют к тому, чтобы делать множество почти одинаковых ячеек, создавайте функции для повторяющихся действий, делайте код модульным. Особенно это касается различных функций для вывода визуализаций, однотипных алгоритмов обработки данных.
5. Описывайте зависимости. Давайте исчерпывающее описание необходимых библиотек и их версий. Также можно генерировать файл с конфигурацией окружения, в котором запускался ноутбук. Ну а если вы дружите с докером, то можно даже сделать отдельный контейнер (хотя это существенно усложняет порог использования тетрадки, но если вы публикуете её для технически подкованных людей, то это может иметь смысл).
6. Используйте системы контроля версий. Это позволит отслеживать изменения и эффективнее управлять ими, например, быстро откатываться к предыдущей версии. На эту тему есть хорошая статья «How to Version Control Jupyter Notebooks». (https://nextjournal.com/schmudde/how-to-version-control-jupyter)
7. Выстраивайте полноценный пайплайн обработки данных. Идеально воспроизводимый анализ должен выполняться от А до Я без необходимости что-то обрабатывать вручную. Например, если вы предобрабатываете данные, то делайте это в ноутбуке. Также полезно делать ноутбуки параметризируемыми, чтобы быстро перезапускать весь процесс с другими входными данными. В этом может помочь Papermill. (загуглите, кто ещё не)
8. Вместе с ноутбуком старайтесь публиковать и данные. Не всегда это возможно из-за того, что датасет большой или содержит конфиденциальные данные. Но можно выложить отдельный кусок или попробовать нагенерить что-то похожее, если датасет непубличный.
9. Постарайтесь сделать так, чтобы ноутбук был читабельным, воспроизводимым и кастомизируемым. Смотри правила 3, 5 и 7.
10. Будьте тем, кто применяет эти правила. Будь то работа, ваша open-source активность или соревнования на Кагле. Чем больше будет воспроизводимых, читабельных и полезных ноутбуков - тем выше уровень открытости данных и компетенций.
Оригинал статьи: https://doi.org/10.1371/journal.pcbi.1007007. В самой статье есть ссылка на GitHub с парочкой примеров «хороших» тетрадок.
Медиум для шера http://bit.ly/2YZJym0
journals.plos.org
Ten simple rules for writing and sharing computational analyses in Jupyter Notebooks
Короткая статья, в которой выясняется что лучше:
https://medium.com/@formigone/stop-using-df-iterrows-2fbc2931b60e
df.iterrows() или df.itertuples()?https://medium.com/@formigone/stop-using-df-iterrows-2fbc2931b60e
Medium
Stop using df.iterrows()
This morning I came across an article with tips for using Pandas better. One of the claims was that df.itertuples() should be used instead…
Куча tips & tricks по pandas в твиттере Kevin Markham, основателя Data School
Forwarded from Data Phoenix
More pandas tricks!
Kevin Markham, founder of Data School has expanded his popular pandas tricks series. There are now more than 45 tricks and new ones are added daily.
http://bit.ly/2MZJal4
Kevin Markham, founder of Data School has expanded his popular pandas tricks series. There are now more than 45 tricks and new ones are added daily.
http://bit.ly/2MZJal4
Отличный ноутбук с примерами расчета и визуализации различных бизнес-показателей: когортный анализ, подсчет MRR (Monthly Recurring Revenue) и ARR (Annual Recuriring Revenue), расчет Retention Rate. Будет полезно, если вы занимаетесь продуктовой аналитикой.
http://highpeakfinancial.com/blog/2019/1/16/customer-data-visualizations-using-python-pandas-and-graphing-libraries
http://highpeakfinancial.com/blog/2019/1/16/customer-data-visualizations-using-python-pandas-and-graphing-libraries
Forwarded from Нейрон
Давненько на канале не выходило постов — за то теперь будет жирненький. Написал пост, который будет передаваться бережно из уст в уста. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности.
Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа!
Если вы знаете, какой-то проект, который можно добавить в любую из подотраслей, пожалуйста, свяжитесь со мной. Я его добавлю в список.
https://neurondata.ru/ryfJPJN4S
#нейронавтор #нейронстатьи
С любовью, Нейрон ❤️
Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа!
Если вы знаете, какой-то проект, который можно добавить в любую из подотраслей, пожалуйста, свяжитесь со мной. Я его добавлю в список.
https://neurondata.ru/ryfJPJN4S
#нейронавтор #нейронстатьи
С любовью, Нейрон ❤️
https://pbpython.com/papermil-rclone-report-2.html
Вторая часть статьи про автоматизацию формирования отчетности с использованием Papermill (первая тут - https://t.me/datalytx/195)
Вторая часть статьи про автоматизацию формирования отчетности с использованием Papermill (первая тут - https://t.me/datalytx/195)
Pbpython
Automated Report Generation with Papermill: Part 2
This is part two of a two-part series post about automating report generation using python, jupyter, papermill, and a couple of other tools.
Статья про проверку статистических гипотез. Внутри много всяких клевых примеров: тест на нормальность распределения при помощи критерия Шапиро-Уилка, проверка равенства дисперсий через критерий Бартлетта, разбиение выборки, в том числе с помощью бутстрапа.
https://habr.com/ru/post/451488/
https://habr.com/ru/post/451488/
Хабр
Расчёт каннибализации на основе классического A/B-теста и метод bootstrap’а
В данной статье рассмотрен метод расчёта каннибализации для мобильного приложения на основе классического A/B-теста. В данном случае рассматриваются и оцениваютс...
Простенький, но от этого не менее эффективный, приём соединения данных из различных листов Excel-файла в единый датафрейм
https://pbpython.com/pandas-excel-tabs.html
https://pbpython.com/pandas-excel-tabs.html
Pbpython
Combine Multiple Excel Worksheets Into a Single Pandas Dataframe
This article describes how to use pandas to read in multiple Excel tabs and combine into a single dataframe.
Хороший туториал с примером создания интерактивного дашборда с помощью Dash
https://towardsdatascience.com/interactive-dashboards-for-data-science-51aa038279e5
https://towardsdatascience.com/interactive-dashboards-for-data-science-51aa038279e5
Medium
Interactive Dashboards for Data Science
Creating an online dashboard in Python to analyse Facebook Stock Market Prices and Performance Metrics.
Очередная статья про сравнение производительности различных видов операций в Pandas. И в очередной раз она показывает, что использовать циклы по строкам в Pandas - это моветон.
https://towardsdatascience.com/how-to-make-your-pandas-loop-71-803-times-faster-805030df4f06
https://towardsdatascience.com/how-to-make-your-pandas-loop-71-803-times-faster-805030df4f06
Medium
How To Make Your Pandas Loop 71803 Times Faster
Looping through Pandas DataFrames can be very slow — I will show you some very fast options
Классный русскоязычный гайд про визуализацию данных с помощью Seaborn
https://nagornyy.me/courses/data-science/intro-to-seaborn/
https://nagornyy.me/courses/data-science/intro-to-seaborn/
Статья про анализ данных о зарплатах программистов с помощью Python. Хороший пример разведочного анализа данных, а также проверки статистической гипотезы о равенстве средних с применением Bootstrap
https://habr.com/ru/post/465371/
https://habr.com/ru/post/465371/
Хабр
Расчет нулевой гипотезы, на примере анализа зарплат украинских программистов
Решил поделиться, да бы и самому не забывать, как можно использовать простые статистические инструменты для анализа данных. В качестве примера использовался анон...
Подробное руководство по работе с openpyxl: чтение в Excel из Python, запись в Excel, изменение существующих книг, работа со стилями.
https://realpython.com/openpyxl-excel-spreadsheets-python/
https://realpython.com/openpyxl-excel-spreadsheets-python/
Realpython
A Guide to Excel Spreadsheets in Python With openpyxl – Real Python
In this step-by-step tutorial, you'll learn how to handle spreadsheets in Python using the openpyxl package. You'll learn how to manipulate Excel spreadsheets, extract information from spreadsheets, create simple or more complex spreadsheets, including adding…
Статья о том как делать выводы на основе статистического анализа. Автор рассказывает про подсчет доверительных интервалов для среднего с помощью бутстрапа и обычного t-test'а, а затем проверяет гипотезу о среднем генеральной совокупности.
https://towardsdatascience.com/bootstrapping-for-inferential-statistics-9b613a7653b2
https://towardsdatascience.com/bootstrapping-for-inferential-statistics-9b613a7653b2
Medium
Bootstrapping for Inferential Statistics
Data Scientist’s Toolkit — bootstrapping, sampling, confidence intervals, hypothesis testing
👍1
Если вы давно хотели начать визуализировать данные на Python, но боитесь слов типа matplotlib, seaborn и plotly, то не отчаивайтесь. Начните с построения гистограмм с помощью метода
https://mode.com/example-gallery/python_histogram/
hist() в pandas. Вот статья, которая поможет на старте: https://mode.com/example-gallery/python_histogram/
Mode Resources
Plot Histograms Using Pandas: hist() Example | Charts | Charts - Mode
A histogram is a graphical representation commonly used to visualize the distribution of numerical data. When exploring a dataset, you'll often want to get a quick understanding of the distribution of certain numerical variables within it.
Подробный гайд про трансформацию данных в pandas. Крайне толковое руководство, освещающее как популярные методы
https://hackersandslackers.com/reshaping-pandas-dataframes/
groupby и pivot_table, так и менее распространенные такие как melt, transpose, stack и unstack.https://hackersandslackers.com/reshaping-pandas-dataframes/
Hackers and Slackers
Reshaping Pandas DataFrames
A guide to DataFrame manipulation using groupby, melt, pivot tables, pivot, transpose, and stack.
Напоминаю, что у этого канала есть чатик, который периодически оживает от ваших вопросов. Так что не стесняйтесь их там задавать. Там умеют гуглить и стаковерфлоить за вас🙂, а ещё делиться экспертизой, что гораздо ценнее 👨🔬👩🔬
Также я актуализировал список ссылок про Pandas 🐼, который накопился за время существования этого канала.
Всем удачи!
Также я актуализировал список ссылок про Pandas 🐼, который накопился за время существования этого канала.
Всем удачи!
Telegram
Python для анализа данных
Чат про применение Python для анализа данных, в особенности для различного рода автоматизации и аналитики.
Основной канал: @datalytx
Канал с вакансиями: @data_hr
Основной канал: @datalytx
Канал с вакансиями: @data_hr
🔥1
Бизнес постоянно находит новые задачи. Справиться с новыми вызовами невозможно без глубокого анализа данных и правильной коммуникации с клиентами. Современный digital-маркетинг гораздо больше про технологии, нежели про креатив. И как мы все знаем, хороший маркетолог никогда не даст хорошему аналитику скучать.
Главная конференция для маркетинговых и продуктовых аналитиков, data-инженеров, стратегов - Матемаркетинг-2019
80 докладов, 10 мастер-классов, 100 докладчиков, 2 полных дня
Докладчики летят со всего мира - от Сан-Франциско до Токио.
Ключевые темы: алгоритмический маркетинг, a/b-тестирование, маркетинговая аналитика, маркетинг микро- и малого бизнеса, трек игровой аналитики и полностью зарубежная секция по user acquisition.
Подробнейшая программа Матемаркетинга на двух вкладках google sheets: http://bit.ly/33SYfe0
Все решения, о которых пойдет речь, можно применять у себя в компании и учитывать при планировании сервисов.
Конференция пройдет 14 и 15 ноября (четверг и пятница) в центре Москвы
Билеты: http://bit.ly/2SEBSUJ
Все подробности на сайте: matemarketing.ru
Промокод на скидку 10% действует до конца этой недели: MM-bVflPHJm8y-10
Главная конференция для маркетинговых и продуктовых аналитиков, data-инженеров, стратегов - Матемаркетинг-2019
80 докладов, 10 мастер-классов, 100 докладчиков, 2 полных дня
Докладчики летят со всего мира - от Сан-Франциско до Токио.
Ключевые темы: алгоритмический маркетинг, a/b-тестирование, маркетинговая аналитика, маркетинг микро- и малого бизнеса, трек игровой аналитики и полностью зарубежная секция по user acquisition.
Подробнейшая программа Матемаркетинга на двух вкладках google sheets: http://bit.ly/33SYfe0
Все решения, о которых пойдет речь, можно применять у себя в компании и учитывать при планировании сервисов.
Конференция пройдет 14 и 15 ноября (четверг и пятница) в центре Москвы
Билеты: http://bit.ly/2SEBSUJ
Все подробности на сайте: matemarketing.ru
Промокод на скидку 10% действует до конца этой недели: MM-bVflPHJm8y-10
Google Docs
Программа Матемаркетинга