Source

yelp-challenge / letters.ipynb

Full commit
{
 "metadata": {
  "name": "letters"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "db = pd.HDFStore('yelp.h5')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 34
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "reviews = db['review']\n",
      "reviews"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "pyout",
       "prompt_number": 35,
       "text": [
        "<class 'pandas.core.frame.DataFrame'>\n",
        "Int64Index: 229907 entries, 0 to 229906\n",
        "Data columns:\n",
        "business_id    229907  non-null values\n",
        "date           229907  non-null values\n",
        "review_id      229907  non-null values\n",
        "stars          229907  non-null values\n",
        "text           229907  non-null values\n",
        "type           229907  non-null values\n",
        "user_id        229907  non-null values\n",
        "votes          229907  non-null values\n",
        "dtypes: int64(1), object(7)"
       ]
      }
     ],
     "prompt_number": 35
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "business = db['business']\n",
      "bname = dict(business[['business_id', 'name']].values)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 44
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "reviews['business'] = reviews['business_id'].map(bname)\n",
      "reviews.head()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>business_id</th>\n",
        "      <th>date</th>\n",
        "      <th>review_id</th>\n",
        "      <th>stars</th>\n",
        "      <th>text</th>\n",
        "      <th>type</th>\n",
        "      <th>user_id</th>\n",
        "      <th>votes</th>\n",
        "      <th>business</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>0</th>\n",
        "      <td> 9yKzy9PApeiPPOUJEtnvkg</td>\n",
        "      <td> 2011-01-26</td>\n",
        "      <td> fWKvX83p0-ka4JS3dc6E5A</td>\n",
        "      <td> 5</td>\n",
        "      <td> My wife took me here on my birthday for breakf...</td>\n",
        "      <td> review</td>\n",
        "      <td> rLtl8ZkDX5vH5nAx9C3q5Q</td>\n",
        "      <td> {u'funny': 0, u'useful': 5, u'cool': 2}</td>\n",
        "      <td> Morning Glory Cafe</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
        "      <td> ZRJwVLyzEJq1VAihDhYiow</td>\n",
        "      <td> 2011-07-27</td>\n",
        "      <td> IjZ33sJrzXqU-0X6U8NwyA</td>\n",
        "      <td> 5</td>\n",
        "      <td> I have no idea why some people give bad review...</td>\n",
        "      <td> review</td>\n",
        "      <td> 0a2KyEL0d3Yb1V6aivbIuQ</td>\n",
        "      <td> {u'funny': 0, u'useful': 0, u'cool': 0}</td>\n",
        "      <td> Spinato's Pizzeria</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2</th>\n",
        "      <td> 6oRAC4uyJCsJl1X0WZpVSA</td>\n",
        "      <td> 2012-06-14</td>\n",
        "      <td> IESLBzqUCLdSzSqm0eCSxQ</td>\n",
        "      <td> 4</td>\n",
        "      <td> love the gyro plate. Rice is so good and I als...</td>\n",
        "      <td> review</td>\n",
        "      <td> 0hT2KtfLiobPvh6cDC8JQg</td>\n",
        "      <td> {u'funny': 0, u'useful': 1, u'cool': 0}</td>\n",
        "      <td>          Haji-Baba</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3</th>\n",
        "      <td> _1QQZuf4zZOyFCvXc0o6Vg</td>\n",
        "      <td> 2010-05-27</td>\n",
        "      <td> G-WvGaISbqqaMHlNnByodA</td>\n",
        "      <td> 5</td>\n",
        "      <td> Rosie, Dakota, and I LOVE Chaparral Dog Park!!...</td>\n",
        "      <td> review</td>\n",
        "      <td> uZetl9T0NcROGOyFfughhg</td>\n",
        "      <td> {u'funny': 0, u'useful': 2, u'cool': 1}</td>\n",
        "      <td> Chaparral Dog Park</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
        "      <td> 6ozycU1RpktNG2-1BroVtw</td>\n",
        "      <td> 2012-01-05</td>\n",
        "      <td> 1uJFq2r5QfJG_6ExMRCaGw</td>\n",
        "      <td> 5</td>\n",
        "      <td> General Manager Scott Petello is a good egg!!!...</td>\n",
        "      <td> review</td>\n",
        "      <td> vYmM4KTsC8ZfQBg-j5MWkw</td>\n",
        "      <td> {u'funny': 0, u'useful': 0, u'cool': 0}</td>\n",
        "      <td>      Discount Tire</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "output_type": "pyout",
       "prompt_number": 48,
       "text": [
        "              business_id        date               review_id  stars  \\\n",
        "0  9yKzy9PApeiPPOUJEtnvkg  2011-01-26  fWKvX83p0-ka4JS3dc6E5A      5   \n",
        "1  ZRJwVLyzEJq1VAihDhYiow  2011-07-27  IjZ33sJrzXqU-0X6U8NwyA      5   \n",
        "2  6oRAC4uyJCsJl1X0WZpVSA  2012-06-14  IESLBzqUCLdSzSqm0eCSxQ      4   \n",
        "3  _1QQZuf4zZOyFCvXc0o6Vg  2010-05-27  G-WvGaISbqqaMHlNnByodA      5   \n",
        "4  6ozycU1RpktNG2-1BroVtw  2012-01-05  1uJFq2r5QfJG_6ExMRCaGw      5   \n",
        "\n",
        "                                                text    type  \\\n",
        "0  My wife took me here on my birthday for breakf...  review   \n",
        "1  I have no idea why some people give bad review...  review   \n",
        "2  love the gyro plate. Rice is so good and I als...  review   \n",
        "3  Rosie, Dakota, and I LOVE Chaparral Dog Park!!...  review   \n",
        "4  General Manager Scott Petello is a good egg!!!...  review   \n",
        "\n",
        "                  user_id                                    votes  \\\n",
        "0  rLtl8ZkDX5vH5nAx9C3q5Q  {u'funny': 0, u'useful': 5, u'cool': 2}   \n",
        "1  0a2KyEL0d3Yb1V6aivbIuQ  {u'funny': 0, u'useful': 0, u'cool': 0}   \n",
        "2  0hT2KtfLiobPvh6cDC8JQg  {u'funny': 0, u'useful': 1, u'cool': 0}   \n",
        "3  uZetl9T0NcROGOyFfughhg  {u'funny': 0, u'useful': 2, u'cool': 1}   \n",
        "4  vYmM4KTsC8ZfQBg-j5MWkw  {u'funny': 0, u'useful': 0, u'cool': 0}   \n",
        "\n",
        "             business  \n",
        "0  Morning Glory Cafe  \n",
        "1  Spinato's Pizzeria  \n",
        "2           Haji-Baba  \n",
        "3  Chaparral Dog Park  \n",
        "4       Discount Tire  "
       ]
      }
     ],
     "prompt_number": 48
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from collections import defaultdict\n",
      "import string\n",
      "is_eng = set(string.lowercase).__contains__\n",
      "letters = defaultdict(list)\n",
      "for name, stars in reviews[['business', 'stars']].itertuples(index=False):\n",
      "    for letter in (l for l in name if is_eng(l)):\n",
      "        letters[letter].append(stars)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 75
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "avgs = [(letter, np.mean(stars)) for letter, stars in letters.iteritems()]\n",
      "avgs.sort()\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 77
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "xs = range(len(avgs))\n",
      "plot(xs, [a[1] for a in avgs], marker='o', color='steelblue')\n",
      "xticks(xs, [a[0] for a in avgs])\n",
      "grid()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "display_data",
       "png": "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\nRU5ErkJggg==\n"
      }
     ],
     "prompt_number": 79
    }
   ],
   "metadata": {}
  }
 ]
}