{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":56537,"databundleVersionId":8015876,"sourceType":"competition"},{"sourceId":173477290,"sourceType":"kernelVersion"},{"sourceId":173637682,"sourceType":"kernelVersion"},{"sourceId":173661295,"sourceType":"kernelVersion"},{"sourceId":173686855,"sourceType":"kernelVersion"},{"sourceId":175511532,"sourceType":"kernelVersion"}],"dockerImageVersionId":30698,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import polars as pl\nimport numpy as np\nimport polars.selectors as cs\n\n# Reading the csv files:-\nsub1 = pl.scan_csv(\"/kaggle/input/giba-baseline-xgboost/submission.csv\")\nsub2 = pl.scan_csv(\"/kaggle/input/nn-tensorflow-tpu-starter/submission.csv\")\nsub3 = pl.scan_csv(\"/kaggle/input/climsim-mlp-bestpublic-v1/submission.csv\")\nsub4 = pl.scan_csv(f\"/kaggle/input/leap-simple/submission.csv\")\nsub5 = pl.scan_csv(f\"/kaggle/input/leap-catboost-baseline/submission.csv\")\n\nsub  = pl.read_csv(f\"/kaggle/input/leap-atmospheric-physics-ai-climsim/sample_submission.csv\")","metadata":{"execution":{"iopub.status.busy":"2024-05-04T06:10:20.994305Z","iopub.execute_input":"2024-05-04T06:10:20.994711Z","iopub.status.idle":"2024-05-04T06:10:36.548991Z","shell.execute_reply.started":"2024-05-04T06:10:20.994675Z","shell.execute_reply":"2024-05-04T06:10:36.548063Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cols = sub1.head(10).columns[1:]\n\nfor i, col in enumerate(cols):\n    print(f\"---> {i}. Current column = {col}\")\n    \n    df = pl.concat([sub1.select(col).rename({col: \"sub1\"}), \n                    sub2.select(col).rename({col: \"sub2\"}), \n                    sub3.select(col).rename({col: \"sub3\"}),\n                    sub4.select(col).rename({col: \"sub4\"}),\n                    sub5.select(col).rename({col: \"sub5\"}),\n                   ],\n                   how = \"horizontal\"\n                  )\n\n    col_names  = [\"sub1\", \"sub2\", \"sub3\", \"sub4\", \"sub5\"]\n    weights    = [0.30, 0.10, 0.00, 0.00, 0.60]\n\n    df = df.with_columns([pl.fold(acc = 0, \n                                  function = lambda c1, c2: c1 + c2, \n                                  exprs = [pl.col(col) * pl.lit(weights[i]) for i, col in enumerate(col_names)]\n                                 ).alias(col)\n                         ]\n                        )\n    \n    sub.replace_column(i+1, df.select(col).collect().to_series())\n\nprint(\"\\n\\n\")\ndisplay(sub.head(10))\nsub.write_parquet(\"submission.parquet\")","metadata":{"execution":{"iopub.status.busy":"2024-05-04T06:10:36.551254Z","iopub.execute_input":"2024-05-04T06:10:36.552046Z"},"trusted":true},"execution_count":null,"outputs":[]}]}