{"cells":[
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "import pandas as pd\nfrom cmath import sqrt\n\n\ndef calc_diff(x1,y1,x2,y2):\n    xm = (x2-x1)**2\n    ym = (y2-y1)**2\n    ans = (xm+ym)**0.5\n    return ans\n\n\nfile_writer = open(\"results.csv\" , 'w')\ncalc_diff(0,0,1,0)\ndf_train = pd.read_csv('./train.csv')\ndf_train['fixed_time'] = (df_train['time']%(24*60*7)/1500).round()*1500\n\ndic_x_y = {}\nmean = df_train.groupby(['place_id','fixed_time']).mean()\nfor index, row in mean.iterrows():\n    dic_x_y[index] = (row[2],row[3])\n\ndic_popularity = {}\ncount = df_train.groupby(['place_id','fixed_time']).count()\nfor index, row in count.iterrows():\n    dic_popularity[index] = (row[2])\n\n\noutput = []\nprint('Preparing data...')\nimport csv\nwith open(str(\"./test.csv\"), 'rb') as tsvfile:\n    tsvin = csv.reader(tsvfile, delimiter=',')\n    i=0\n    for line in tsvin:\n        if i == 0:\n            print 'i is o'\n            i=i+1\n        else:\n\n            min = [10000,10000]\n            for key in dic_x_y:\n                dist = calc_diff(float(line[1]),float(line[2]),dic_x_y[key][0],dic_x_y[key][1])\n                popularity = dic_popularity[key]\n                score = (dist/popularity)\n                if score < min[1]:\n                    min[0] = key[0]\n                    min[1] = score\n            file_writer.write(str(line[0]) + ',' + str(min[0]) + '\\n' )\n            print line[0]\n#             output.append([line[0],line[1]])\n\n \nprint 'finished....'\nfile_writer.close()\n"
 },
 {
  "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}