{"cells":[
 {
  "cell_type": "markdown",
  "metadata": {},
  "source": "# Checking the Train & Test periods"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "%matplotlib inline\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nsns.set_style('whitegrid')\nsns.set(color_codes=True)\n\ndef string_to_datetime(s, fmt='%Y-%m-%d'):\n    if s != s:\n        return np.nan\n    year, month, day = s.split('-')\n    try:  \n        d = pd.datetime(int(year), int(month), int(day))\n    except ValueError:\n        d = pd.datetime(2017, 1, 1)\n    d = min([max([d, pd.datetime(2013, 1, 1)]), pd.datetime(2017, 1, 1)])\n    return d"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "# Read and transform dates\ntrain = pd.read_csv(\"../input/train.csv\", usecols=['date_time', 'is_booking', 'srch_ci', 'srch_co'],\n                   parse_dates=['date_time'], nrows=10**6)\ntrain['srch_ci'] = train['srch_ci'].apply(string_to_datetime)\ntrain['srch_co'] = train['srch_co'].apply(string_to_datetime)\ntrain.info()\ntrain_bookings = train[train['is_booking'] == 1].drop('is_booking', axis=1)\ntrain_clicks = train[train['is_booking'] == 0].drop('is_booking', axis=1)\ndel train\ntest_bookings = pd.read_csv(\"../input/test.csv\", usecols=['date_time', 'srch_ci', 'srch_co'],\n                   parse_dates=['date_time'], nrows=10**6)\ntest_bookings['srch_ci'] = test_bookings['srch_ci'].apply(string_to_datetime)\ntest_bookings['srch_co'] = test_bookings['srch_co'].apply(string_to_datetime)\ntest_bookings.info()"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "f = plt.figure()\nplt.hist(train_bookings['date_time'].values, bins=100, alpha=0.5, normed=True, label='train bookings')\nplt.hist(test_bookings['date_time'].values, bins=50, alpha=0.5, normed=True, label='test bookings')\nplt.hist(train_clicks['date_time'].values, bins=100, alpha=0.5, normed=True, label='train clicks')\nplt.title('Search time distribution')\nplt.legend(loc='best')\nf.savefig('SearchTime.png', dpi=300)\nplt.show()\n"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "f = plt.figure()\nplt.hist(train_bookings['srch_ci'].values, bins=100, alpha=0.5, normed=True, label='train bookings')\nplt.hist(test_bookings['srch_ci'].dropna().values, bins=50, alpha=0.5, normed=True, label='test bookings')\nplt.hist(train_clicks['srch_ci'].dropna().values, bins=100, alpha=0.5, normed=True, label='train clicks')\nplt.title('Checkin time')\nplt.legend(loc='best')\nf.savefig('CheckinTime.png', dpi=300)\nplt.show()\n"
 }
],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"}}, "nbformat": 4, "nbformat_minor": 0}