{"cells":[
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "def data_loader():\n    global df_train_all, df_test_all, df_sub_all\n    print('Loading data ...')\n    df_train_all = pd.read_csv('../input/train.csv', dtype={'x':np.float32, \n                                               'y':np.float32, \n                                               'accuracy':np.int16,\n                                               'time':np.int,\n                                               'place_id':np.int}, \n                                               index_col = 0)\n    df_test_all = pd.read_csv('../input/test.csv', dtype={'x':np.float32,\n                                              'y':np.float32, \n                                              'accuracy':np.int16,\n                                              'time':np.int,\n                                              'place_id':np.int}, \n                                              index_col = 0)\n    df_sub_all = pd.read_csv('../input/sample_submission.csv', index_col = 0)\n    print('data loaded')\n    \ndata_loader()"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "df_train_sample = df_train_all.sample(frac=0.1)"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "df_train_sample = df_train_sample.sort_values(by=['time'])"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "validation_ratio = 0.1\ntrain_size = int((1.0 - validation_ratio) * len(df_train_sample))\nsample_train = df_train_sample[:train_size]\nsample_validation = df_train_sample[train_size:]"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "place_ids, place_id_counts = np.unique(sample_train['place_id'].values, return_counts=True)"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "place_id_counts_combine = np.asarray((place_ids, place_id_counts)).T\nres = np.sort(place_id_counts_combine, 0)"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "print(res[:50])"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": ""
 }
],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"}}, "nbformat": 4, "nbformat_minor": 0}