{"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":10445,"databundleVersionId":200747,"sourceType":"competition"}],"dockerImageVersionId":30732,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport gc","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-06-29T10:45:52.619479Z","iopub.execute_input":"2024-06-29T10:45:52.619863Z","iopub.status.idle":"2024-06-29T10:45:53.885039Z","shell.execute_reply.started":"2024-06-29T10:45:52.619832Z","shell.execute_reply":"2024-06-29T10:45:53.883872Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def miss_handle(se):\n    if(se.isna().sum()==0):\n        return se\n    if(se.dtypes==\"object\"):\n        vc = se.value_counts()\n        if(vc.iloc[0]/len(se)>0.1):\n            se = se.fillna(-1)\n        else:\n            se = se.fillna(se.mode().iloc[0])\n    else:\n        se = se.fillna(se.mean())\n    return se\n\ndef inf_handle(se):\n    if((se==np.inf).any()):\n        se_ = se.replace(np.inf,np.nan)\n        se = se_.fillna(se_.max())\n    if((se==-np.inf).any()):\n        se_ = se.replace(-np.inf,np.nan)\n        se = se_.fillna(se_.min())\n    return se\n\ndef pre_handle(df):\n    inf_col = df.columns[(df==np.inf).sum()>0]\n    inf_col = inf_col.union(df.columns[(df==-np.inf).sum()>0])\n    df[inf_col] = df[inf_col].apply(inf_handle,axis=0)\n    miss_col = df.columns[df.isna().sum()>0]\n    df[miss_col] = df[miss_col].apply(miss_handle,axis=0)\n    return df","metadata":{"execution":{"iopub.status.busy":"2024-06-29T10:45:54.394467Z","iopub.execute_input":"2024-06-29T10:45:54.394991Z","iopub.status.idle":"2024-06-29T10:45:54.408272Z","shell.execute_reply.started":"2024-06-29T10:45:54.394960Z","shell.execute_reply":"2024-06-29T10:45:54.407177Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"history_dict = pd.read_csv(\"/kaggle/input/elo-merchant-category-recommendation/historical_transactions.csv\")\nnew_dict = pd.read_csv(\"/kaggle/input/elo-merchant-category-recommendation/new_merchant_transactions.csv\")\n\ntransactions = pd.concat((new_dict,history_dict),axis=0)\ndel new_dict\ndel history_dict\n\n# transactions = pre_handle(transactions)\ntransactions[\"purchase_date\"] = pd.to_datetime(transactions[\"purchase_date\"]).apply(lambda x:x.timestamp()-1.5e9)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2024-06-29T10:46:19.157194Z","iopub.execute_input":"2024-06-29T10:46:19.157627Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"merchants = pd.read_csv(\"/kaggle/input/elo-merchant-category-recommendation/merchants.csv\")\n\n\nif(len(merchants['merchant_id'].unique())!=len(merchants['merchant_id'])):\n    merchants = merchants.drop_duplicates(keep='last',subset=['merchant_id']).reset_index()\n\n# merchants = pre_handle(merchants)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"duplicates_col = transactions.columns[transactions.columns.isin(merchants.columns)]\nduplicates_col = duplicates_col.drop(\"merchant_id\")\nmerchants = merchants.drop(duplicates_col,axis=1)\n\ntransactions = pd.merge(transactions,merchants,how=\"left\",on=\"merchant_id\")\ndel merchants","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"transactions.to_csv(\"/kaggle/working/transactions.csv\",index=False)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"execution":{"iopub.status.busy":"2024-06-29T10:09:39.555551Z","iopub.execute_input":"2024-06-29T10:09:39.555941Z","iopub.status.idle":"2024-06-29T10:10:22.815907Z","shell.execute_reply.started":"2024-06-29T10:09:39.555911Z","shell.execute_reply":"2024-06-29T10:10:22.814679Z"},"trusted":true},"execution_count":null,"outputs":[]}]}