Only Analyst
2.55K subscribers
140 photos
20 videos
157 links
Канал для всех, кто интересуется аналитикой данных и хочет изучить данную профессию
@onlyanalyst
Download Telegram
Channel created
Channel name was changed to «Аналитик Данных»
Дорогие друзья! Всем привет!👋🏻
Первое видео будет посвящено правильному составлению резюме.

📌Как сделать так,
чтобы Вас заметил рекрутер?
📌Как себя позиционировать на первом знакомстве с HR специалистом?
📌Что следует сказать о себе, а о чем и вовсе не стоит упоминать в собеседовании?

В нашем видео мы планируем ответить на все интересующие вас Вас вопросы.
Но для этого прошу оставить их в комментариях под этим постом👇🏻
#опрос #интервью
👏86🔥1
Сегодня разберем довольно частую задачу на собеседованиях:
Необходимо объединить два словаря в один. Довольно частая проблема, которая встречается в работе, например для объединения двух разных источников данных.
x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}

Для решения есть два варианта:
1. Для Python 3.9.
z = x | y

2. Для Python 3.5.
z = {**x, **y}

В результате Python объединяет ключи словаря в порядке, указанном в выражении, перезаписывая дубликаты слева направо.
{'a': 1, 'b': 3, 'c': 4}

В следующем посте разберем задачи из новой рубрики на собеседованиях “Pandas-программист”. Интересующие вопросы задавайте в комментариях! #python #собеседование #словари
👍124👏1
Внимание, друзья! 🎓

Сегодня поговорим о словарях Python! 🐍📚

🤔 Вам когда-нибудь требовалось хранить данные таким образом, чтобы к ним было легко получить доступ или изменить их? В таком случае пригодятся словари!

🔑 Словари похожи на систему хранения, где вы по слову (ключ) находите его определение (значение).

📝 Вот пример того, как создать словарь на Python:

my_dict = {"яблоко": 2, "банан": 3, "апельсин": 1}


🍎,🍌,🍊 В этом примере у нас есть три ключа (яблоко, банан и апельсин) с соответствующими им значениями (2, 3 и 1).

🔍 Чтобы получить доступ к значению, используй ключ следующим образом:

my_dict["яблоко"] 
# Output: 2


🔄 Чтобы изменить значение, просто присвой ключу новое значение:

my_dict["банан"] = 4
my_dict["банан"]
# Output: 4


🗑️ Чтобы удалить пару ключ-значение, используй ключевое слово del:

del my_dict["апельсин"]
my_dict
Output: {"яблоко": 2, "банан": 4}


Вызывает ли работа со словарями у тебя сложности, если да, то задавай вопросы в комментариях!
💻 Если показалось очень легко, то в следующем посте разберем более сложные манипуляции!
#python #словари
🔥103👏2
📊 Всем привет! Сегодня поговорим про DataFrame в Pandas

DataFrame в Pandas - это, по сути, таблицы, содержащие данные, и их можно комбинировать различными способами для создания еще более сложных таблиц. 🤓

Чтобы объединить два или более DataFrame, можно использовать методы: concat(), merge() или join(). Эти методы позволяют вам объединять DataFrame на основе определенных критериев, таких как общий столбец или индекс. 🔗

Например, если у вас есть два DataFrame с одинаковыми столбцами, но разными данными, вы можете использовать concat(), чтобы объединить их по вертикали или горизонтали. Если у вас есть два DataFrame с одним общим столбцом, вы можете использовать merge(), чтобы объединить их на основе этого столбца. И если у вас есть два DataFrame с общим индексом, вы можете использовать join(), чтобы объединить их на основе этого индекса. 🧐

Не бойтесь экспериментировать с различными способами объединения ваших DataFrame, чтобы получить нужные вам результаты! 🤗 Удачи! 💪

import pandas as pd

# Создаем два DataFrames
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [4, 5, 6], 'B': [7, 8, 9]})

# Используем concat() для объединения DataFrames горизонтально
combined_df1 = pd.concat([df1, df2], axis=1)
print(combined_df1)

# Используем concat() to combine two DataFrames вертикально
combined_df2 = pd.concat([df1, df2], axis=0)
print(combined_df2)

# Создаем два DataFrames с общей колонкой
df3 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': ['X', 'Y', 'Z']})
df4 = pd.DataFrame({'A': [2, 3, 4], 'D': [7, 8, 9], 'C': ['Y', 'Z', 'W']})

# Используем merge() для объединения DataFrames на основе общей колонки “C”
combined_df3 = pd.merge(df3, df4, on='C')
print(combined_df3)

# Создаем два DataFrames с общим индексом
df5 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=[10, 20, 30])
df6 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=[10, 20, 40])

# Используем join() для объединения DataFrames на основе индекса
combined_df4 = df5.join(df6)
print(combined_df4)

#pandas
👍9🔥83
Всем привет! Сегодня продолжим тему словарей и разберем более сложные случаи!
Такие примеры часто встречаются на собеседованиях в части Python.

🔍 Использование метода get()
Метод get() является полезным инструментом при работе со словарями. Он позволяет получить доступ к значению для данного ключа, и если ключ не найден, он возвращает значение по умолчанию.

my_dict = {"apple": 2, "banana": 3, "orange": 1}
my_dict.get("apple", 0)
# Output: 2
my_dict.get("kiwi", 0)
# Output: 0

🧹 Нахождение дубликатов (словарное включение)

В этом примере у нас есть список чисел, и мы хотим найти все дубликаты и создать словарь, где ключами являются уникальные числа, а значениями - их частота в списке.

numbers = [1, 2, 2, 3, 4, 4, 4, 5, 6, 6, 7]
unique_numbers = {num: numbers.count(num) for num in numbers}
print(unique_numbers)
# Output: {1: 1, 2: 2, 3: 1, 4: 3, 5: 1, 6: 2, 7: 1}

🎲 Подсчет бросаний кубика со словарем
В этом примере мы имитируем бросание игральной кости 100 раз и подсчитываем, сколько раз появляется каждый результат. Мы используем словарь, чтобы отслеживать подсчеты.

import random
rolls = [random.randint(1, 6) for _ in range(100)]
counts = {}
for roll in rolls:
counts[roll] = counts.get(roll, 0) + 1
print(counts)
# Output: {1: 16, 2: 18, 3: 18, 4: 21, 5: 15, 6: 12}

🔑 Создание словаря из двух списков
Вы можете создать словарь из двух списков, где один список содержит ключи, а другой - значения. Вот пример:

keys = ['apple', 'banana', 'orange']
values = [2, 3, 1]
my_dict = dict(zip(keys, values))
print(my_dict)
# Output: {'apple': 2, 'banana': 3, 'orange': 1}

В следующем посте разберем другие методы словарей и как их использовать для решения задач!

#python #собеседование #словари
🔥98👏2
📊🔎🤖 Всем привет, сегодня будем решать задачи с собеседований! Продолжая наше обсуждение словарных методов, давайте взглянем на dictionary comprehension (словарное включение). Словарное включение - это краткий и мощный способ создания словарей на Python.

📝 Словарное включение выполняется по синтаксису, аналогичному списковому включению, но с использованием пар ключ-значение вместо отдельных значений. Вот пример:

my_dict = {key: value for key, value в iterable}

🧐 Словарное включение может быть использовано для решения самых разных задач. Вот несколько примеров:

🔍 Задача 1: Преобразуйте список строк в словарь, где ключом является строка, а значением - длина строки.

my_list = ['apple', 'banana', 'cherry']
my_dict = {string: len(string) for string in my_list}
print(my_dict)
# Output: {'apple': 5, 'banana': 6, 'cherry': 6}


🔍 Задача 2: Отфильтруйте словарь, чтобы он включал только пары ключ-значение, в которых значение больше 5.

my_dict = {'apple': 3, 'banana': 6, 'cherry': 2, orange: 8}
filtered_dict = {key: value for key, value in my_dict.items() if value > 5}
print(filtered_dict)
# Output: {'banana': 6, orange: 8}


🔍 Задача 3: Создайте словарь, использую словарное включение, на основе списка из чисел, где ключом является число, а его значением квадрат числа!

numbers = [1, 2, 3, 4, 5]
squares_dict = {место для кода}
# Output {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}


Если получится решить, то присылай свой код в комментарии, а если нет, то задавай вопросы и всей командой поможем тебе!
#собеседование #python #словари #задача
🔥9👍7🥰1
📊Всем привет! Сегодня будет новый формат, где мы по шагам разберем решение рабочей задачи с моими комментариями!

А также применим наши знания о словарях из предыдущих постов и познакомимся с новой структурой данных в Python - множества (set).

📝 Если хочешь испытать себя, то реши задачу самостоятельно, пришли решение в комментарии и сравни с моим!

🔍 Задача! Есть список со словарями и нам необходимо найти все уникальные ключи:

arr = [{'a': 1, 'b': 2},
{'a': 3, 'b': 4},
{'c': 5}]

💯Решение:

1. Первое, что приходит на ум, это создать цикл и пройтись по списку:

for i in arr:
pass

2. Далее, нам необходимо получить доступ к ключам каждого словаря, это можно сделать с помощью метода .keys():

for i in arr:
i.keys()


3. Теперь, хотелось бы сохранить эти ключи в список, для этого создадим пустой список result и с помощью метода .extend() добавим ключи:

result = []
for i in arr:
result.extend(i.keys())
print(result)
#Output ['a', 'b', 'a', 'b', 'c']


4. На данном этапе у нас есть список со всеми значениями ключей из словарей и необходимо оставить только уникальные, для этого можно использовать структуру данных Python - множества (set), в которой могут быть только уникальные значения:

result = []
for i in arr:
result.extend(i.keys())
result = set(result)
print(result)
#Output ['a','c','b']


🐥Вот такое решение у меня получилось в первом приближение, есть идеи переписать это полностью с использованием множеств и метода .update().

🐊В следующих постах более подробно расскажу множествах и как использовать их в работе и для решения задач на собеседованиях!

👉 Обязательно задавайте вопросы и присылайте свои решения!

🗿Понравился ли такой формат?
#python #словари #множества #работа
9🔥9👏3
📊 Давайте поговорим о структуре данных в Python - множество (set) 🐍

🤔 Что такое множество?
Множество - это неупорядоченная коллекция уникальных элементов. Проще говоря, это похоже на список, но без дубликатов.

🤓 Вот некоторые методы множества:

add() - добавляет элемент в набор
remove() - удаляет элемент из набора
intersection() - возвращает пересечение двух наборов
union() - возвращает объединение двух наборов

👨‍💻 Вот пример кода:

# Создаем 2 множества
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1) # Output: {1, 2, 3, 4, 5}
print(set2) # Output: {4, 5, 6, 7, 8}

#
Добавим элемент в set1
set1.add(
6)
print(set1) # Output: {1, 2, 3, 4, 5, 6}

#
Удлаим элемент из set2
set2.remove(8)
print(set2) # Output: {4, 5, 6, 7}

#
Найдем пересечение set1 и set2
intersection_set = set1.intersection(set2)
print(intersection_set) # Output: {4, 5, 6}

#
Найдем уникальные значения set1 and set2
union_set = set1.union(set2)
print(union_set) # Output: {1, 2, 3, 4, 5, 6, 7}


🎉 Множества являются полезным инструментом при анализе данных, поскольку они позволяют нам легко удалять дубликаты и выполнять операции на много быстрее, чем со списками. Поэтому в следующий раз, когда вы столкнетесь с дублирующимися данными, попробуйте использовать множества!

Вопрос: что будет если с помощью метода .add() добавить в множество уже имеющийся элемент? Пиши ответ в комментариях! В следующем посте раберем на сколько множество быстрее, чем списки!

#python #множества #set
👍10🔥81
Всем привет! Воскресный пост будет без кода! Тем не менее, будет интересно и затронем важный аспект аналитики данных – визуализацию.

Сегодня я посетил выставку в Новом Иерусалиме “Под знаком Рубенса”, в которой представлены работы мастера и его учеников. Но, видимо, из-за профессиональной деформации вместо созерцания картин, все мое внимание было приковано к графическим визуализациям, которыми изобилует данная выставка!

Визуализация – это неотъемлемая часть аналитики данных, которая является финальным аккордом и квинтэссенцией работы. Исследование может пойти насмарку, если его результаты никто, кроме вас не сможет понять.

Для своих визуализация я использую метод Дэвида Маккэндлесса, посвященный эффективной визуализации данных, в котором перечислены четыре элемента хорошей визуализации данных:

1. Информация: данные, с которыми вы работаете
2. История: четкое и убедительное повествование или концепция
3. Цель: конкретная задача или функция для визуализации
4. Визуальная форма: эффективное использование визуального выражения

Один из способов понять данных подход – это представить визуализации, которые имеют только несколько из перечисленных пунктов. Например, визуальная форма без цели, истории или данных может быть эскизом или даже произведением искусства. Данные и визуальная форма без цели или функции — это оторванность от контекста. Данные с определенной целью, но без истории или визуальной формы, скучны. Для создания эффективного визуального образа должны использоваться все четыре элемента.

Интересны посты про визуальную составляющую часть работы аналитика данных? В комментариях к посту прикладываю фотографии визуализаций с выставки, как вам они? Все ли понятно?

#визуализация
15👍10🥰7
Channel photo updated
Channel name was changed to «Only Analyst»
📣 Всем привет! 🐍

Я хотел поделиться классной встроенной функцией в Python, которая может помочь Вам писать более эффективный код: 🔍
range()
.

👉
range()
- это удобная функция для генерации последовательности чисел. Она обычно используется в циклах
for
для выполнения итерации определенное количество раз. Вот пример:

for i in range(5):
print(i)
Output: 0 1 2 3 4

Функция
range()
принимает до трех аргументов:
start
,
stop
и
step
.

👉
start
(необязательно) — это первое значение последовательности. Если не указано, то по умолчанию значение равно 0.

👉
stop
(обязательно) – это конечное значение последовательности. Это значение не включено в последовательность.

👉
step
(необязательно) — это разница между каждым значением в последовательности. Если не указано, то по умолчанию значение равно 1.

Вот пример использования
range()
со всеми тремя параметрами для генерации последовательности четных чисел от 2 до 10:

for i in range(2, 11, 2):
print(i)
Output: 2 4 6 8 10

Вы также можете использовать параметр
step
для изменения списка в обратном направлении, установив для него значение -1. Например:

my_list = [1, 2, 3, 4, 5]
reversed_list = my_list[::-1] # using slicing
print(reversed_list)
Output: [5, 4, 3, 2, 1]

# Используя range
reversed_list = []
for i in range(len(my_list)-1, -1, -1):
reversed_list.append(my_list[i])
print(reversed_list)
Output: [5, 4, 3, 2, 1]

В следующих постах мы познакомимся с еще некоторыми встроенными функциями: 🧐
enumerate
и 🗺
map
.

Какие еще способы применения функции 🔍
range()
вы знаете?

Также сообщаю, что мы с @dianakoloda, Head of HR DataGo!, записали видео с ответами на Ваши вопросы и скоро его можно будет посмотреть!
#python
17🥰16🎉8🤩6
👋🏼 Всем привет!

Наконец-то интервью с @dianakoloda 👩‍💻, которая отвечает на Ваши вопросы, а я 👨‍💻 делюсь опытом, вышло у меня на канале OnlyAnalyst 🎥!

Видео получилось очень содержательным: обсудили все стадии трудоустройства и специфику отрасли. Уверен, что будет интересно людям, которые только начинают карьерный путь в IT 🔍 и тем, кто хочет расти дальше 📈!

Знаю, что Вы и так поддержите, но все же попрошу: если такой контент Вам интересен, то подписаться 📩, если понравилось видео, то поставить лайк 👍🏼, а если будут вопросы, то задавать их в комментариях 💬, обязательно на все ответим! 👀

Пишите какие форматы Вам еще интересны, а этот надеюсь станет постоянным.

🕰 В описании к видео есть таймкоды, чтобы вам было проще ориентироваться и находить интересующие Вас вопросы

Ссылка 🔗 на видео: https://youtu.be/JTR4vXSMh-Q
#видео #интервью #собеседования
👍23🔥1714🤩11🥰9👏4🎉4😁2
👋 Часто задают вопрос: С чего начать изучение аналитики данных! Сегодня будет история из личного опыта изучения программирования и работы с данными.

🏆 Первым этапом, с которого я начал свой путь стал сайт Kaggle. А именно, его обучающий раздел, где собраны курсы по Python, SQL, Pandas, визуализаци и машинному обучению.

📜 Сертификаты о прохождении данных курсов я с гордостью выставлял в своем резюме, в надежде привлечь внимание рекрутеров и доказать свои знания.

👨‍💻 Так как участие в соревнованиях требовало хоть каких-то знаний, то на тот момент единственное, что я сделал - это создал несколько датасетов, чтобы получить желанное звание - Datasets Contributor.

🕹 Сейчас можно участвовать и побеждать в первых соревнованиях уже после прохождения нескольких вводных курсов! Радует, что порог вхождения снижается.

🔗 И последние: все свои домашние проекты я делал в специальном разделе, где их можно запускать в браузере и делиться ссылкой с HR, которые жаждут посмотреть, как повторить все разделы Google Analytics с помощью BigQuery и Python. В итоге моя работа даже заработала 3 лайка.

🤗 Благодарю за внимание к моей истории! Если у вас есть свой опыт работы с Kaggle или другими платформами для изучения программирования и работы с данными, поделитесь им в комментариях!

#истории #петпроект
18🔥9👍1