{"cells":[{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"pip install -q git+https://github.com/Aykhan-sh/pandaseda@master","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport pandaseda.Functional as pf\n\nimport seaborn as sns\nimport matplotlib.pyplot as plt","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def countplot(df, cols, subs, figsize):\n    plt.figure(figsize = figsize)\n    for idx, i in enumerate(cols):\n        plt.subplot(subs[0], subs[1], idx+1)\n        sns.countplot(df[i])\n        plt.title(i, fontdict={'size':25})\n        plt.xticks(size = 15)\n        plt.yticks(size = 15)\n        plt.xlabel('')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Structure of DataFrames"},{"metadata":{"trusted":true},"cell_type":"code","source":"lectures = pd.read_csv('/kaggle/input/riiid-test-answer-prediction/lectures.csv')\nexample_test = pd.read_csv('/kaggle/input/riiid-test-answer-prediction/example_test.csv')\nexample_sample_submission = pd.read_csv('/kaggle/input/riiid-test-answer-prediction/example_sample_submission.csv')\ntrain_chunks = pd.read_csv('/kaggle/input/riiid-test-answer-prediction/train.csv', chunksize = 10000000)\ntrain_chunk = next(iter(train_chunks))\nquestions = pd.read_csv('/kaggle/input/riiid-test-answer-prediction/questions.csv')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Lectures"},{"metadata":{"trusted":true},"cell_type":"code","source":"lectures","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"lectures_desc = pf.desc(lectures, print_sorted = True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"temp_cols = ['type_of', 'part']\nplt.figure(figsize = (16,8))\nfor idx, i in enumerate(temp_cols):\n    plt.subplot(1,2, idx+1)\n    sns.countplot(lectures[i])\n    plt.title(i, fontdict={'size':25})\n    plt.xticks(size = 15)\n    plt.yticks(size = 15)\n    plt.xlabel('')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Train (first 10 000 000 rows)"},{"metadata":{"trusted":true},"cell_type":"code","source":"train_chunk","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_chunk_desc = pf.desc(train_chunk, print_sorted = True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"temp_cols = ['content_type_id', 'prior_question_had_explanation', 'answered_correctly', 'user_answer']\ncountplot(train_chunk, temp_cols, (2,2), (20,20))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize = (20,7))\nsns.distplot(train_chunk.prior_question_elapsed_time)\nplt.title('Prior question elapsed time', fontdict = {'size': 20})\nplt.xlabel('');","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize = (20,15))\nsns.boxplot(train_chunk.answered_correctly, train_chunk.prior_question_elapsed_time)\nplt.title('Distribution of time elapsed over the result', fontdict = {'size': 20})\nplt.xlabel('answered_correctly', size = 16)\nplt.ylabel('prior_question_elapsed_time', size = 16);","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize = (12,12))\nsns.countplot(train_chunk.answered_correctly, hue = train_chunk.prior_question_had_explanation)\nplt.title('Answers result with and without explanations', fontdict = {'size': 20})\nplt.xlabel('Answered_correctly', size = 16);","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize = (20,7))\nsns.distplot(train_chunk.groupby('user_id').agg({'row_id':'count'}).row_id, bins = 300)\nplt.title('Distribution of answered questions by user', fontdict = {'size': 20});\nplt.xlabel('Number of questions', size = 12);\nplt.xlim(0, 3000);","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"temp_train = train_chunk.groupby('user_id').agg({'answered_correctly': 'sum', 'row_id':'count'})\nplt.figure(figsize = (20,7))\nsns.distplot((temp_train.answered_correctly * 100)/temp_train.row_id)\nplt.title('Distribution of correct answers percentage by each user', fontdict = {'size': 20});\nplt.xlabel('Percentage of correct answers', size = 12);","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Questions"},{"metadata":{"trusted":true},"cell_type":"code","source":"questions","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"questions_desc = pf.desc(questions, print_sorted = True)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Example_test"},{"metadata":{"trusted":true},"cell_type":"code","source":"example_test","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"example_test_desc = pf.desc(example_test, print_sorted = True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"temp_cols = ['prior_question_had_explanation', 'group_num']\ncountplot(example_test, temp_cols, (1,2), (20,10))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Sample Submission"},{"metadata":{"trusted":true},"cell_type":"code","source":"example_sample_submission","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}