{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"},"language_info":{"name":"python","version":"3.11.11","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"widgets":{"application/vnd.jupyter.widget-state+json":{"state":{},"version_major":2,"version_minor":0}},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":105399,"databundleVersionId":12733338,"sourceType":"competition"}],"dockerImageVersionId":31040,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"id":"2eb7af7a-1523-4534-a057-a3c15b538243","cell_type":"code","source":"import polars as pl\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:53:25.319994Z","iopub.execute_input":"2025-06-23T06:53:25.320429Z","iopub.status.idle":"2025-06-23T06:53:26.021138Z","shell.execute_reply.started":"2025-06-23T06:53:25.320398Z","shell.execute_reply":"2025-06-23T06:53:26.020220Z"}},"outputs":[],"execution_count":null},{"id":"c71979d1-4913-4b67-a0b9-499dece769ad","cell_type":"code","source":"df = pl.read_parquet('/kaggle/input/aeroclub-recsys-2025/train.parquet')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:53:32.427331Z","iopub.execute_input":"2025-06-23T06:53:32.427693Z","iopub.status.idle":"2025-06-23T06:53:50.119186Z","shell.execute_reply.started":"2025-06-23T06:53:32.427640Z","shell.execute_reply":"2025-06-23T06:53:50.118207Z"}},"outputs":[],"execution_count":null},{"id":"ff91022d-5846-4ef1-bb74-528187f42b81","cell_type":"code","source":"# Популярность авиалиний\ndf_airpop=df.lazy().group_by('legs0_segments0_marketingCarrier_code').agg(pl.mean('selected')).collect()\ndf_airpop_b=df.lazy().group_by('legs1_segments0_marketingCarrier_code').agg(pl.mean('selected')).collect()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:53:55.137358Z","iopub.execute_input":"2025-06-23T06:53:55.137653Z","iopub.status.idle":"2025-06-23T06:53:58.329527Z","shell.execute_reply.started":"2025-06-23T06:53:55.137626Z","shell.execute_reply":"2025-06-23T06:53:58.328476Z"}},"outputs":[],"execution_count":null},{"id":"3f449565-aee7-4917-bde1-9280b6830d2e","cell_type":"code","source":"df_airpop.columns=['airc', 'popty']\ndf_airpop_b.columns=['airc', 'popty2']\ndf_airpop=df_airpop.join(df_airpop_b, on='airc')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:54:30.893307Z","iopub.execute_input":"2025-06-23T06:54:30.893610Z","iopub.status.idle":"2025-06-23T06:54:30.929744Z","shell.execute_reply.started":"2025-06-23T06:54:30.893585Z","shell.execute_reply":"2025-06-23T06:54:30.928869Z"}},"outputs":[],"execution_count":null},{"id":"0773b8e6-7c2f-4edf-8bfc-3227e0c51553","cell_type":"code","source":"del df","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:54:54.342345Z","iopub.execute_input":"2025-06-23T06:54:54.342646Z","iopub.status.idle":"2025-06-23T06:54:56.511346Z","shell.execute_reply.started":"2025-06-23T06:54:54.342623Z","shell.execute_reply":"2025-06-23T06:54:56.510441Z"}},"outputs":[],"execution_count":null},{"id":"67237049-77fd-4fd6-ac06-2373f49316a7","cell_type":"code","source":"test=pl.read_parquet('/kaggle/input/aeroclub-recsys-2025/test.parquet')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:55:04.056166Z","iopub.execute_input":"2025-06-23T06:55:04.056505Z","iopub.status.idle":"2025-06-23T06:55:08.175272Z","shell.execute_reply.started":"2025-06-23T06:55:04.056478Z","shell.execute_reply":"2025-06-23T06:55:08.174354Z"}},"outputs":[],"execution_count":null},{"id":"6768195d-e3c1-4e36-8be4-63154fe7fcd0","cell_type":"code","source":"#copy\nsss=test.select(['Id', 'frequentFlyer', 'pricingInfo_isAccessTP', 'legs0_segments0_marketingCarrier_code',\n 'legs0_segments1_marketingCarrier_code', 'legs0_segments2_marketingCarrier_code', 'legs0_segments3_marketingCarrier_code',\n    'legs1_segments1_marketingCarrier_code', 'legs1_segments2_marketingCarrier_code', 'legs1_segments3_marketingCarrier_code',\n                 \n                  'legs1_segments0_marketingCarrier_code', 'ranker_id'\t, 'totalPrice' ])\n\n#append\nsss=sss.join(df_airpop, left_on='legs0_segments0_marketingCarrier_code', right_on='airc', how='left').drop('popty2')\nsss=sss.join(df_airpop.drop('popty'), left_on='legs1_segments0_marketingCarrier_code', right_on='airc', how='left')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:55:56.213842Z","iopub.execute_input":"2025-06-23T06:55:56.214217Z","iopub.status.idle":"2025-06-23T06:55:57.759372Z","shell.execute_reply.started":"2025-06-23T06:55:56.214188Z","shell.execute_reply":"2025-06-23T06:55:57.758545Z"}},"outputs":[],"execution_count":null},{"id":"bdbd6621-4b54-4531-8ef2-7fd5f67d258f","cell_type":"code","source":"#legs count \nsss= sss.with_columns(\n    pl.sum_horizontal(\n        pl.col(col).is_not_null().cast(pl.UInt8) for col in ['legs0_segments0_marketingCarrier_code',\n 'legs0_segments1_marketingCarrier_code', 'legs0_segments2_marketingCarrier_code', 'legs0_segments3_marketingCarrier_code', \n        'legs1_segments1_marketingCarrier_code', 'legs1_segments2_marketingCarrier_code', 'legs1_segments3_marketingCarrier_code',\n                 \n                  'legs1_segments0_marketingCarrier_code'\n                                                            \n                                                            \n                                                            ]\n    ).alias(\"l0_seg\")\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:56:07.125284Z","iopub.execute_input":"2025-06-23T06:56:07.125590Z","iopub.status.idle":"2025-06-23T06:56:07.207449Z","shell.execute_reply.started":"2025-06-23T06:56:07.125566Z","shell.execute_reply":"2025-06-23T06:56:07.206643Z"}},"outputs":[],"execution_count":null},{"id":"1dca8303-1341-4fd1-acad-f8d1903c85bb","cell_type":"code","source":"#handmade ml\nsss=sss.sort(['ranker_id', 'pricingInfo_isAccessTP', 'l0_seg','popty', 'popty2', 'totalPrice' ], \n               descending=[True, True, False, True, True, False])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:56:35.828302Z","iopub.execute_input":"2025-06-23T06:56:35.828588Z","iopub.status.idle":"2025-06-23T06:56:38.485232Z","shell.execute_reply.started":"2025-06-23T06:56:35.828568Z","shell.execute_reply":"2025-06-23T06:56:38.484460Z"}},"outputs":[],"execution_count":null},{"id":"a097c87c-3105-4cfa-95e8-a0a819ede3fc","cell_type":"code","source":"sss= sss.with_columns(\n    pl.int_range(1, pl.len() + 1).alias(\"selected\").over(\"ranker_id\")      )\n\nsubm=test.select('Id', 'ranker_id' ).join(sss['Id', 'ranker_id', 'selected'], on=['Id', 'ranker_id'], how='left')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T06:57:21.474173Z","iopub.execute_input":"2025-06-23T06:57:21.474481Z","iopub.status.idle":"2025-06-23T06:57:25.189043Z","shell.execute_reply.started":"2025-06-23T06:57:21.474455Z","shell.execute_reply":"2025-06-23T06:57:25.188076Z"}},"outputs":[],"execution_count":null},{"id":"4fe37895-e559-4383-88d0-86baad78ff6b","cell_type":"code","source":"subm.write_csv('sumbission.csv')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-23T07:00:37.315308Z","iopub.execute_input":"2025-06-23T07:00:37.315699Z","iopub.status.idle":"2025-06-23T07:00:38.683484Z","shell.execute_reply.started":"2025-06-23T07:00:37.315650Z","shell.execute_reply":"2025-06-23T07:00:38.682580Z"}},"outputs":[],"execution_count":null}]}