Logo
TGCATALOG
Catalog Collections Blog
Data analysis - DA SQL

Data analysis - DA SQL

Data analysis: SQL, Python.

No ratings
582
29.10.2026
582
29.10.2026
No ratings
582
29.10.2026
Safe redirect via bot
О канале

Data analysis: SQL, Python.

Подписчиков 1,700
Тематика Technology
Язык English
Ссылка t.me/business_stats

We also recommend

Kekaton AI | Voiceover and voice clone
Kekaton AI | Voiceover and voice clone
Bot

AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.

Description

About data analysis: databases, SQL, Python and more for analysts.

Latest posts

Data analysis - DA SQL
Data analysis - DA SQL
🔒Открыть пост
и посмотреть медиа
Как провести анализ динамики Продолжая затронутую ранее тему, расскажу немного подробнее о том, как именно построить динамику с помощью Python. 1️⃣Как проследить за изменением суммы и кол-ва транзакций и за изменением среднего баланса? Проще всего будет сгруппировать данные с помощью groupby по дате транзакции (key='TransactionDate'), рассчитав, соответственно, нужные нам метрики (сумму, кол-во, среднее...) и выбрав нужный интервал (пускай это будет неделя: freq='W'): import pandas as pd #Путь и первоначальная сортировка file_path = 'ПУТЬ.../bank_transactions.csv' df = pd.read_csv(file_path) df = df.sort_values('TransactionDate') #Группировка weekly_stats = df.groupby( pd.Grouper(key='TransactionDate', freq='W')).agg({ 'TransactionAmount': ['sum', 'count', 'mean'], 'CustAccountBalance': 'mean' }).round(2) weekly_stats.columns = [ 'Total_Amount', 'Transaction_Count', 'Avg_Transaction', 'Avg_Balance'] weekly_stats = weekly_stats.reset_index() print("Недельная статистика:") print(weekly_stats) В итоге получим агрегированные по неделям данные с расчетом общей суммы транзакций, их кол-ва, среднего размера транзакции и среднего размера баланса. Можно прикрутить к этому и расчет относительной и абсолютной динамики: weekly_growth = weekly_stats.set_index('TransactionDate').pct_change()*100 weekly_growth = weekly_growth.round(2) weekly_growth = weekly_growth.reset_index() print("\nНедельные приросты (%):") print(weekly_growth) weekly_abs_change = weekly_stats.set_index('TransactionDate').diff() weekly_abs_change = weekly_abs_change.reset_index() print("\nАбсолютные изменения:") print(weekly_abs_change) Всё это применимо как и к датасету в целом, так и к отдельно ранее рассчитанным сегментам. При необходимости можно также это всё визуализировать. 2️⃣Как выявить изменения временных паттернов? При анализе часовой активности логика тут примерно такая же: нужна группировка, но уже не по неделям, а по часам. Для этого нужно извлечь часы из времени транзакции и по этим часам сгруппировать датасет (или сегмент). # Извлекаем час из времени транзакции df['Hour'] = pd.to_datetime(df['TransactionTime'], format='%H:%M:%S').dt.hour # Количество транзакций по часам hourly_transactions = df.groupby('Hour').agg({ 'TransactionID': 'count', 'TransactionAmount': ['sum', 'mean'] }).round(2) hourly_transactions.columns = [ 'Transaction_Count', 'Total_Amount', 'Avg_Amount'] hourly_transactions = hourly_transactions.reset_index() print("Распределение транзакций по часам:") print(hourly_transactions) Очень похожим образом можно анализировать активность и по дням недели, и по кварталам, и по месяцам. Еще можно рассчитать среднее время между транзакциями для каждого клиента. Для этого выберем клиентов, у которых больше 1 транзакции, и в рамках этих клиентов отсортируем транзакции по их дате и времени, рассчитав среднюю разницу между ними. Получившиеся результаты (в секундах) можно преобразовать в дни и, соответственно, вывести результаты: customer_intervals = df.groupby('CustomerID').apply( lambda x: x.sort_values('TransactionDateTime')['TransactionDateTime'].diff().mean() if len(x) > 1 else pd.NaT ) customer_intervals_days = customer_intervals.dt.total_seconds() / (24 * 3600) interval_stats = { 'Avg_Days_Between_Transactions': customer_intervals_days.mean(), 'Median_Days_Between_Transactions': customer_intervals_days.median(), 'Min_Days_Between_Transactions': customer_intervals_days.min(), 'Max_Days_Between_Transactions': customer_intervals_days.max() } print("\nСтатистика времени между транзакциями (в днях):") for key, value in interval_stats.items(): print(f"{key}: {value:.2f}") Это даст нам сводные результаты по датасету или сегменту. Если мы хотим понять, как менялось это время, например, из месяца в месяц, то можно просто задать ограничения на входящие данные и получать эту статистику за каждый месяц (а не за весь период как сейчас), сравнивая потом эти месяца между собой.
Data analysis - DA SQL
FAQ

Open Data analysis - DA SQL in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Data analysis - DA SQL directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Data analysis - DA SQL.

The exact features depend on the resource. Open Data analysis - DA SQL to see its current functions, content and access conditions.
Subscriber dynamics
+-0.5% last 30 days
Current
1,700
Month ago
1,709
Average growth
+0 / day
Updated
17 hours ago

Reviews for channel Data analysis - DA SQL

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login