{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# MEAN TARGET SOLUTION","metadata":{}},{"cell_type":"code","source":"!pip install --user --quiet --no-warn-script-location --root-user-action=ignore tables hdf5plugin","metadata":{"execution":{"iopub.status.busy":"2022-09-20T06:38:52.895441Z","iopub.execute_input":"2022-09-20T06:38:52.896254Z","iopub.status.idle":"2022-09-20T06:39:08.911976Z","shell.execute_reply.started":"2022-09-20T06:38:52.896148Z","shell.execute_reply":"2022-09-20T06:39:08.910772Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\nimport hdf5plugin, h5py\nimport numpy as np\nimport pandas as pd\n\nDIR = '../input/open-problems-multimodal/'\n\nlist_ct_protein = h5py.File(DIR+'train_cite_targets.h5')['train_cite_targets']['axis0'][:].astype(str)\nlist_mt_RNA = h5py.File(DIR+'train_multi_targets.h5')['train_multi_targets']['axis0'][:].astype(str)\n\nY_mean_cite = np.sum([h5py.File(DIR+'train_cite_targets.h5')['train_cite_targets']['block0_values'][i:i+500].sum(axis=0) \n                      for i in range(0, len(list_ct_protein), 500)], axis=0)/len(list_ct_protein)\nY_mean_multi = np.sum([h5py.File(DIR+'train_multi_targets.h5')['train_multi_targets']['block0_values'][i:i+500].sum(axis=0) \n                       for i in range(0, len(list_mt_RNA), 500)], axis=0)/len(list_mt_RNA)\n\ndict_target = dict(map(lambda _:(_[1], Y_mean_cite[_[0]]), enumerate(list_ct_protein)))\ndict_target.update(map(lambda _:(_[1], Y_mean_multi[_[0]]), enumerate(list_mt_RNA)))\n\npd.DataFrame(columns=['target']).rename_axis('row_id').to_csv('submission_mean_target.csv')\nwith pd.read_csv(DIR+'evaluation_ids.csv', dtype=\"str\", usecols=['cell_id', 'gene_id'], chunksize=1000000) as reader:\n    for chunk in reader:\n        chunk.assign(target=chunk.gene_id.apply(lambda _:dict_target[_])).rename_axis('row_id')['target']\\\n        .to_csv('submission_mean_target.csv', float_format='%.2f', header=False, mode='a')","metadata":{"execution":{"iopub.status.busy":"2022-09-20T06:39:08.917585Z","iopub.execute_input":"2022-09-20T06:39:08.917991Z","iopub.status.idle":"2022-09-20T06:44:34.681652Z","shell.execute_reply.started":"2022-09-20T06:39:08.917948Z","shell.execute_reply":"2022-09-20T06:44:34.680363Z"},"trusted":true},"execution_count":null,"outputs":[]}]}