Untitled
unknown
plain_text
2 years ago
3.7 kB
11
Indexable
engine_5 = sqlalchemy.create_engine('mssql+pyodbc://@spb99-dbs01.gazprom-neft.local:1433/DATAMARTS?driver=ODBC+Driver+17+for+SQL+Server&trusted_connection=yes')
query_5 = '''SELECT
YEAR(wh.GPN_WHOLESALE_TRANSACTIONS_DATA) AS year,
MONTH(wh.GPN_WHOLESALE_TRANSACTIONS_DATA) AS month,
ok.[Код ОКВЭД] AS okved,
ok.[Сфера] AS scope,
SUM(wh.KOLICHESTVO_TN) AS volume_t,
SUM(wh.VYRUCHKA) AS revenue,
wh.TIP_NEFTEPRODUKTA AS np_type
FROM [SANDBOX_DB_TEAM_21].[dbo].[MED_codes_OKVED] AS ok
JOIN [DATAMARTS].[FINAL].[GPN_WHOLESALE_TRANSACTIONS] AS wh
ON ok.[ИНН]=wh.INN
WHERE
ok.[Вид ОКВЭДа] = 'Основной'
AND YEAR(wh.GPN_WHOLESALE_TRANSACTIONS_DATA) >= '2015'
AND wh.KANAL_PRODAZH_VYVERENNYJ != '1.Розница'
AND wh.OBLAST_POSTAVKI = 'Ярославская обл.'
GROUP BY
ok.[Код ОКВЭД], ok.[Сфера],
YEAR(wh.GPN_WHOLESALE_TRANSACTIONS_DATA),
MONTH(wh.GPN_WHOLESALE_TRANSACTIONS_DATA),
wh.TIP_NEFTEPRODUKTA
ORDER BY
year, month'''
yaroslav_okved = pd.read_sql(query_5, engine_5)
yaroslav_okved.to_csv('okved_MO_yaroslav.csv', index=False)
yaroslav_okved
year month okved scope volume_t revenue np_type
0 2015 1 10.71 Производство хлеба и мучных кондитерских издел... 3.695000 0.000000e+00 Бензин
1 2015 1 11.5 Производство пива 14.000000 0.000000e+00 СУГ
2 2015 1 23.63 Разработка гравийных и песчаных карьеров 4.099452 0.000000e+00 ДТ
3 2015 1 29.1.5 Производство автомобилей специального назначения 3.729852 0.000000e+00 Бензин
4 2015 1 29.1.5 Производство автомобилей специального назначения 4.131206 0.000000e+00 ДТ
... ... ... ... ... ... ... ...
3789 2023 12 46.71 Торговля оптовая твердым, жидким и газообразны... 10984.214000 5.073148e+08 Бензин
3790 2023 12 46.71.2 Торговля оптовая моторным топливом, включая ав... 16032.136000 7.436256e+08 Бензин
3791 2023 12 47.3.11 Торговля розничная бензином и дизельным топлив... 657.324000 3.184711e+07 Бензин
3792 2023 12 47.78.6 Торговля розничная бытовым жидким котельным то... 2006.620000 5.816152e+07 СУГ
3793 2023 12 49.41 Деятельность автомобильного грузового транспорта 141.296000 1.031481e+07 ДТ
yaroslav_okved.sort_values(by=['year', 'month'], inplace=True)
yaroslav_okved['year_month'] = pd.to_datetime(yaroslav_okved['year'].astype(str) + '-' + yaroslav_okved['month'].astype(str) + '-01')
yaroslav_okved.insert(2, 'year_month', yaroslav_okved.pop('year_month'))
yaroslav_okved
yaroslav_okved.dropna(inplace=True)
yaroslav_okved.info()
total_revenue_yar = yaroslav_okved['revenue'].sum()
total_revenue_yar
okved_revenue_yar['revenue_share'] = okved_revenue_yar['revenue'] / total_revenue
okved_revenue_yar_filtered = okved_revenue_yar[okved_revenue_yar['revenue_share'] >= 0.01]
okved_revenue_yar_filtered = okved_revenue_yar_filtered.sort_values('revenue_share', ascending=False)
okved_revenue_yar_filtered=okved_revenue_yar_filtered.reset_index(drop=True)
okved_revenue_yar_filtered
plt.figure(figsize=(12,8))
sns.barplot(x='revenue_share', y='okved', data=okved_revenue_yar_filtered)
plt.title('ОКВЭДы с долей выручки более 1%')
plt.xlabel('Доля')
plt.ylabel('Оквэд')
plt.show()Editor is loading...
Leave a Comment