Untitled
unknown
plain_text
a year ago
3.7 kB
3
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