{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 缺失值处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 读取数据\n",
    "data = pd.read_csv('./data/IMDB-Movie-Data.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 判断是否有缺失\n",
    "res = pd.isnull(data) # 判断每个元素是否是NaN\n",
    "# 判断res中是否有True\n",
    "np.any(res)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res_2 = pd.notnull(data) # 判断每个元素是否不是NaN\n",
    "# 判断res中是否全部都是True\n",
    "np.all(res_2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Rank</th>\n",
       "      <th>Title</th>\n",
       "      <th>Genre</th>\n",
       "      <th>Description</th>\n",
       "      <th>Director</th>\n",
       "      <th>Actors</th>\n",
       "      <th>Year</th>\n",
       "      <th>Runtime (Minutes)</th>\n",
       "      <th>Rating</th>\n",
       "      <th>Votes</th>\n",
       "      <th>Revenue (Millions)</th>\n",
       "      <th>Metascore</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Guardians of the Galaxy</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A group of intergalactic criminals are forced ...</td>\n",
       "      <td>James Gunn</td>\n",
       "      <td>Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>121</td>\n",
       "      <td>8.1</td>\n",
       "      <td>757074</td>\n",
       "      <td>333.13</td>\n",
       "      <td>76.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>Prometheus</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>Split</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Three girls are kidnapped by a man with a diag...</td>\n",
       "      <td>M. Night Shyamalan</td>\n",
       "      <td>James McAvoy, Anya Taylor-Joy, Haley Lu Richar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>117</td>\n",
       "      <td>7.3</td>\n",
       "      <td>157606</td>\n",
       "      <td>138.12</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>Sing</td>\n",
       "      <td>Animation,Comedy,Family</td>\n",
       "      <td>In a city of humanoid animals, a hustling thea...</td>\n",
       "      <td>Christophe Lourdelet</td>\n",
       "      <td>Matthew McConaughey,Reese Witherspoon, Seth Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>7.2</td>\n",
       "      <td>60545</td>\n",
       "      <td>270.32</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Suicide Squad</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>A secret government agency recruits some of th...</td>\n",
       "      <td>David Ayer</td>\n",
       "      <td>Will Smith, Jared Leto, Margot Robbie, Viola D...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.2</td>\n",
       "      <td>393727</td>\n",
       "      <td>325.02</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Rank                    Title                     Genre  \\\n",
       "0     1  Guardians of the Galaxy   Action,Adventure,Sci-Fi   \n",
       "1     2               Prometheus  Adventure,Mystery,Sci-Fi   \n",
       "2     3                    Split           Horror,Thriller   \n",
       "3     4                     Sing   Animation,Comedy,Family   \n",
       "4     5            Suicide Squad  Action,Adventure,Fantasy   \n",
       "\n",
       "                                         Description              Director  \\\n",
       "0  A group of intergalactic criminals are forced ...            James Gunn   \n",
       "1  Following clues to the origin of mankind, a te...          Ridley Scott   \n",
       "2  Three girls are kidnapped by a man with a diag...    M. Night Shyamalan   \n",
       "3  In a city of humanoid animals, a hustling thea...  Christophe Lourdelet   \n",
       "4  A secret government agency recruits some of th...            David Ayer   \n",
       "\n",
       "                                              Actors  Year  Runtime (Minutes)  \\\n",
       "0  Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...  2014                121   \n",
       "1  Noomi Rapace, Logan Marshall-Green, Michael Fa...  2012                124   \n",
       "2  James McAvoy, Anya Taylor-Joy, Haley Lu Richar...  2016                117   \n",
       "3  Matthew McConaughey,Reese Witherspoon, Seth Ma...  2016                108   \n",
       "4  Will Smith, Jared Leto, Margot Robbie, Viola D...  2016                123   \n",
       "\n",
       "   Rating   Votes  Revenue (Millions)  Metascore  \n",
       "0     8.1  757074              333.13       76.0  \n",
       "1     7.0  485820              126.46       65.0  \n",
       "2     7.3  157606              138.12       62.0  \n",
       "3     7.2   60545              270.32       59.0  \n",
       "4     6.2  393727              325.02       40.0  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 第一种处理方式：删除缺失值 把有缺失的行删除\n",
    "data.dropna().head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Rank</th>\n",
       "      <th>Title</th>\n",
       "      <th>Genre</th>\n",
       "      <th>Description</th>\n",
       "      <th>Director</th>\n",
       "      <th>Actors</th>\n",
       "      <th>Year</th>\n",
       "      <th>Runtime (Minutes)</th>\n",
       "      <th>Rating</th>\n",
       "      <th>Votes</th>\n",
       "      <th>Revenue (Millions)</th>\n",
       "      <th>Metascore</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Guardians of the Galaxy</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A group of intergalactic criminals are forced ...</td>\n",
       "      <td>James Gunn</td>\n",
       "      <td>Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>121</td>\n",
       "      <td>8.1</td>\n",
       "      <td>757074</td>\n",
       "      <td>333.130</td>\n",
       "      <td>76.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>Prometheus</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.460</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>Split</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Three girls are kidnapped by a man with a diag...</td>\n",
       "      <td>M. Night Shyamalan</td>\n",
       "      <td>James McAvoy, Anya Taylor-Joy, Haley Lu Richar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>117</td>\n",
       "      <td>7.3</td>\n",
       "      <td>157606</td>\n",
       "      <td>138.120</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>Sing</td>\n",
       "      <td>Animation,Comedy,Family</td>\n",
       "      <td>In a city of humanoid animals, a hustling thea...</td>\n",
       "      <td>Christophe Lourdelet</td>\n",
       "      <td>Matthew McConaughey,Reese Witherspoon, Seth Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>7.2</td>\n",
       "      <td>60545</td>\n",
       "      <td>270.320</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Suicide Squad</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>A secret government agency recruits some of th...</td>\n",
       "      <td>David Ayer</td>\n",
       "      <td>Will Smith, Jared Leto, Margot Robbie, Viola D...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.2</td>\n",
       "      <td>393727</td>\n",
       "      <td>325.020</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>The Great Wall</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>European mercenaries searching for black powde...</td>\n",
       "      <td>Yimou Zhang</td>\n",
       "      <td>Matt Damon, Tian Jing, Willem Dafoe, Andy Lau</td>\n",
       "      <td>2016</td>\n",
       "      <td>103</td>\n",
       "      <td>6.1</td>\n",
       "      <td>56036</td>\n",
       "      <td>45.130</td>\n",
       "      <td>42.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>La La Land</td>\n",
       "      <td>Comedy,Drama,Music</td>\n",
       "      <td>A jazz pianist falls for an aspiring actress i...</td>\n",
       "      <td>Damien Chazelle</td>\n",
       "      <td>Ryan Gosling, Emma Stone, Rosemarie DeWitt, J....</td>\n",
       "      <td>2016</td>\n",
       "      <td>128</td>\n",
       "      <td>8.3</td>\n",
       "      <td>258682</td>\n",
       "      <td>151.060</td>\n",
       "      <td>93.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>Mindhorn</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>A has-been actor best known for playing the ti...</td>\n",
       "      <td>Sean Foley</td>\n",
       "      <td>Essie Davis, Andrea Riseborough, Julian Barrat...</td>\n",
       "      <td>2016</td>\n",
       "      <td>89</td>\n",
       "      <td>6.4</td>\n",
       "      <td>2490</td>\n",
       "      <td>47.985</td>\n",
       "      <td>71.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>The Lost City of Z</td>\n",
       "      <td>Action,Adventure,Biography</td>\n",
       "      <td>A true-life drama, centering on British explor...</td>\n",
       "      <td>James Gray</td>\n",
       "      <td>Charlie Hunnam, Robert Pattinson, Sienna Mille...</td>\n",
       "      <td>2016</td>\n",
       "      <td>141</td>\n",
       "      <td>7.1</td>\n",
       "      <td>7188</td>\n",
       "      <td>8.010</td>\n",
       "      <td>78.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>Passengers</td>\n",
       "      <td>Adventure,Drama,Romance</td>\n",
       "      <td>A spacecraft traveling to a distant colony pla...</td>\n",
       "      <td>Morten Tyldum</td>\n",
       "      <td>Jennifer Lawrence, Chris Pratt, Michael Sheen,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>116</td>\n",
       "      <td>7.0</td>\n",
       "      <td>192177</td>\n",
       "      <td>100.010</td>\n",
       "      <td>41.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>11</td>\n",
       "      <td>Fantastic Beasts and Where to Find Them</td>\n",
       "      <td>Adventure,Family,Fantasy</td>\n",
       "      <td>The adventures of writer Newt Scamander in New...</td>\n",
       "      <td>David Yates</td>\n",
       "      <td>Eddie Redmayne, Katherine Waterston, Alison Su...</td>\n",
       "      <td>2016</td>\n",
       "      <td>133</td>\n",
       "      <td>7.5</td>\n",
       "      <td>232072</td>\n",
       "      <td>234.020</td>\n",
       "      <td>66.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>12</td>\n",
       "      <td>Hidden Figures</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>The story of a team of female African-American...</td>\n",
       "      <td>Theodore Melfi</td>\n",
       "      <td>Taraji P. Henson, Octavia Spencer, Janelle Mon...</td>\n",
       "      <td>2016</td>\n",
       "      <td>127</td>\n",
       "      <td>7.8</td>\n",
       "      <td>93103</td>\n",
       "      <td>169.270</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>13</td>\n",
       "      <td>Rogue One</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>The Rebel Alliance makes a risky move to steal...</td>\n",
       "      <td>Gareth Edwards</td>\n",
       "      <td>Felicity Jones, Diego Luna, Alan Tudyk, Donnie...</td>\n",
       "      <td>2016</td>\n",
       "      <td>133</td>\n",
       "      <td>7.9</td>\n",
       "      <td>323118</td>\n",
       "      <td>532.170</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>14</td>\n",
       "      <td>Moana</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>In Ancient Polynesia, when a terrible curse in...</td>\n",
       "      <td>Ron Clements</td>\n",
       "      <td>Auli'i Cravalho, Dwayne Johnson, Rachel House,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>107</td>\n",
       "      <td>7.7</td>\n",
       "      <td>118151</td>\n",
       "      <td>248.750</td>\n",
       "      <td>81.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>15</td>\n",
       "      <td>Colossal</td>\n",
       "      <td>Action,Comedy,Drama</td>\n",
       "      <td>Gloria is an out-of-work party girl forced to ...</td>\n",
       "      <td>Nacho Vigalondo</td>\n",
       "      <td>Anne Hathaway, Jason Sudeikis, Austin Stowell,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>109</td>\n",
       "      <td>6.4</td>\n",
       "      <td>8612</td>\n",
       "      <td>2.870</td>\n",
       "      <td>70.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>16</td>\n",
       "      <td>The Secret Life of Pets</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>The quiet life of a terrier named Max is upend...</td>\n",
       "      <td>Chris Renaud</td>\n",
       "      <td>Louis C.K., Eric Stonestreet, Kevin Hart, Lake...</td>\n",
       "      <td>2016</td>\n",
       "      <td>87</td>\n",
       "      <td>6.6</td>\n",
       "      <td>120259</td>\n",
       "      <td>368.310</td>\n",
       "      <td>61.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>17</td>\n",
       "      <td>Hacksaw Ridge</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>WWII American Army Medic Desmond T. Doss, who ...</td>\n",
       "      <td>Mel Gibson</td>\n",
       "      <td>Andrew Garfield, Sam Worthington, Luke Bracey,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>139</td>\n",
       "      <td>8.2</td>\n",
       "      <td>211760</td>\n",
       "      <td>67.120</td>\n",
       "      <td>71.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>18</td>\n",
       "      <td>Jason Bourne</td>\n",
       "      <td>Action,Thriller</td>\n",
       "      <td>The CIA's most dangerous former operative is d...</td>\n",
       "      <td>Paul Greengrass</td>\n",
       "      <td>Matt Damon, Tommy Lee Jones, Alicia Vikander,V...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.7</td>\n",
       "      <td>150823</td>\n",
       "      <td>162.160</td>\n",
       "      <td>58.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>19</td>\n",
       "      <td>Lion</td>\n",
       "      <td>Biography,Drama</td>\n",
       "      <td>A five-year-old Indian boy gets lost on the st...</td>\n",
       "      <td>Garth Davis</td>\n",
       "      <td>Dev Patel, Nicole Kidman, Rooney Mara, Sunny P...</td>\n",
       "      <td>2016</td>\n",
       "      <td>118</td>\n",
       "      <td>8.1</td>\n",
       "      <td>102061</td>\n",
       "      <td>51.690</td>\n",
       "      <td>69.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>20</td>\n",
       "      <td>Arrival</td>\n",
       "      <td>Drama,Mystery,Sci-Fi</td>\n",
       "      <td>When twelve mysterious spacecraft appear aroun...</td>\n",
       "      <td>Denis Villeneuve</td>\n",
       "      <td>Amy Adams, Jeremy Renner, Forest Whitaker,Mich...</td>\n",
       "      <td>2016</td>\n",
       "      <td>116</td>\n",
       "      <td>8.0</td>\n",
       "      <td>340798</td>\n",
       "      <td>100.500</td>\n",
       "      <td>81.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>21</td>\n",
       "      <td>Gold</td>\n",
       "      <td>Adventure,Drama,Thriller</td>\n",
       "      <td>Kenny Wells, a prospector desperate for a luck...</td>\n",
       "      <td>Stephen Gaghan</td>\n",
       "      <td>Matthew McConaughey, Edgar Ramírez, Bryce Dall...</td>\n",
       "      <td>2016</td>\n",
       "      <td>120</td>\n",
       "      <td>6.7</td>\n",
       "      <td>19053</td>\n",
       "      <td>7.220</td>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>22</td>\n",
       "      <td>Manchester by the Sea</td>\n",
       "      <td>Drama</td>\n",
       "      <td>A depressed uncle is asked to take care of his...</td>\n",
       "      <td>Kenneth Lonergan</td>\n",
       "      <td>Casey Affleck, Michelle Williams, Kyle Chandle...</td>\n",
       "      <td>2016</td>\n",
       "      <td>137</td>\n",
       "      <td>7.9</td>\n",
       "      <td>134213</td>\n",
       "      <td>47.700</td>\n",
       "      <td>96.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>23</td>\n",
       "      <td>Hounds of Love</td>\n",
       "      <td>Crime,Drama,Horror</td>\n",
       "      <td>A cold-blooded predatory couple while cruising...</td>\n",
       "      <td>Ben Young</td>\n",
       "      <td>Emma Booth, Ashleigh Cummings, Stephen Curry,S...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>6.7</td>\n",
       "      <td>1115</td>\n",
       "      <td>47.985</td>\n",
       "      <td>72.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>24</td>\n",
       "      <td>Trolls</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>After the Bergens invade Troll Village, Poppy,...</td>\n",
       "      <td>Walt Dohrn</td>\n",
       "      <td>Anna Kendrick, Justin Timberlake,Zooey Deschan...</td>\n",
       "      <td>2016</td>\n",
       "      <td>92</td>\n",
       "      <td>6.5</td>\n",
       "      <td>38552</td>\n",
       "      <td>153.690</td>\n",
       "      <td>56.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>25</td>\n",
       "      <td>Independence Day: Resurgence</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>Two decades after the first Independence Day i...</td>\n",
       "      <td>Roland Emmerich</td>\n",
       "      <td>Liam Hemsworth, Jeff Goldblum, Bill Pullman,Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>120</td>\n",
       "      <td>5.3</td>\n",
       "      <td>127553</td>\n",
       "      <td>103.140</td>\n",
       "      <td>32.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>26</td>\n",
       "      <td>Paris pieds nus</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Fiona visits Paris for the first time to assis...</td>\n",
       "      <td>Dominique Abel</td>\n",
       "      <td>Fiona Gordon, Dominique Abel,Emmanuelle Riva, ...</td>\n",
       "      <td>2016</td>\n",
       "      <td>83</td>\n",
       "      <td>6.8</td>\n",
       "      <td>222</td>\n",
       "      <td>47.985</td>\n",
       "      <td>59.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>27</td>\n",
       "      <td>Bahubali: The Beginning</td>\n",
       "      <td>Action,Adventure,Drama</td>\n",
       "      <td>In ancient India, an adventurous and daring ma...</td>\n",
       "      <td>S.S. Rajamouli</td>\n",
       "      <td>Prabhas, Rana Daggubati, Anushka Shetty,Tamann...</td>\n",
       "      <td>2015</td>\n",
       "      <td>159</td>\n",
       "      <td>8.3</td>\n",
       "      <td>76193</td>\n",
       "      <td>6.500</td>\n",
       "      <td>59.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>28</td>\n",
       "      <td>Dead Awake</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>A young woman must save herself and her friend...</td>\n",
       "      <td>Phillip Guzman</td>\n",
       "      <td>Jocelin Donahue, Jesse Bradford, Jesse Borrego...</td>\n",
       "      <td>2016</td>\n",
       "      <td>99</td>\n",
       "      <td>4.7</td>\n",
       "      <td>523</td>\n",
       "      <td>0.010</td>\n",
       "      <td>59.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>29</td>\n",
       "      <td>Bad Moms</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>When three overworked and under-appreciated mo...</td>\n",
       "      <td>Jon Lucas</td>\n",
       "      <td>Mila Kunis, Kathryn Hahn, Kristen Bell,Christi...</td>\n",
       "      <td>2016</td>\n",
       "      <td>100</td>\n",
       "      <td>6.2</td>\n",
       "      <td>66540</td>\n",
       "      <td>113.080</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>30</td>\n",
       "      <td>Assassin's Creed</td>\n",
       "      <td>Action,Adventure,Drama</td>\n",
       "      <td>When Callum Lynch explores the memories of his...</td>\n",
       "      <td>Justin Kurzel</td>\n",
       "      <td>Michael Fassbender, Marion Cotillard, Jeremy I...</td>\n",
       "      <td>2016</td>\n",
       "      <td>115</td>\n",
       "      <td>5.9</td>\n",
       "      <td>112813</td>\n",
       "      <td>54.650</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>970</th>\n",
       "      <td>971</td>\n",
       "      <td>Texas Chainsaw 3D</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>A young woman travels to Texas to collect an i...</td>\n",
       "      <td>John Luessenhop</td>\n",
       "      <td>Alexandra Daddario, Tania Raymonde, Scott East...</td>\n",
       "      <td>2013</td>\n",
       "      <td>92</td>\n",
       "      <td>4.8</td>\n",
       "      <td>37060</td>\n",
       "      <td>34.330</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>971</th>\n",
       "      <td>972</td>\n",
       "      <td>Disturbia</td>\n",
       "      <td>Drama,Mystery,Thriller</td>\n",
       "      <td>A teen living under house arrest becomes convi...</td>\n",
       "      <td>D.J. Caruso</td>\n",
       "      <td>Shia LaBeouf, David Morse, Carrie-Anne Moss, S...</td>\n",
       "      <td>2007</td>\n",
       "      <td>105</td>\n",
       "      <td>6.9</td>\n",
       "      <td>193491</td>\n",
       "      <td>80.050</td>\n",
       "      <td>59.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>972</th>\n",
       "      <td>973</td>\n",
       "      <td>Rock of Ages</td>\n",
       "      <td>Comedy,Drama,Musical</td>\n",
       "      <td>A small town girl and a city boy meet on the S...</td>\n",
       "      <td>Adam Shankman</td>\n",
       "      <td>Julianne Hough, Diego Boneta, Tom Cruise, Alec...</td>\n",
       "      <td>2012</td>\n",
       "      <td>123</td>\n",
       "      <td>5.9</td>\n",
       "      <td>64513</td>\n",
       "      <td>38.510</td>\n",
       "      <td>47.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>973</th>\n",
       "      <td>974</td>\n",
       "      <td>Scream 4</td>\n",
       "      <td>Horror,Mystery</td>\n",
       "      <td>Ten years have passed, and Sidney Prescott, wh...</td>\n",
       "      <td>Wes Craven</td>\n",
       "      <td>Neve Campbell, Courteney Cox, David Arquette, ...</td>\n",
       "      <td>2011</td>\n",
       "      <td>111</td>\n",
       "      <td>6.2</td>\n",
       "      <td>108544</td>\n",
       "      <td>38.180</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>974</th>\n",
       "      <td>975</td>\n",
       "      <td>Queen of Katwe</td>\n",
       "      <td>Biography,Drama,Sport</td>\n",
       "      <td>A Ugandan girl sees her world rapidly change a...</td>\n",
       "      <td>Mira Nair</td>\n",
       "      <td>Madina Nalwanga, David Oyelowo, Lupita Nyong'o...</td>\n",
       "      <td>2016</td>\n",
       "      <td>124</td>\n",
       "      <td>7.4</td>\n",
       "      <td>6753</td>\n",
       "      <td>8.810</td>\n",
       "      <td>73.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>975</th>\n",
       "      <td>976</td>\n",
       "      <td>My Big Fat Greek Wedding 2</td>\n",
       "      <td>Comedy,Family,Romance</td>\n",
       "      <td>A Portokalos family secret brings the beloved ...</td>\n",
       "      <td>Kirk Jones</td>\n",
       "      <td>Nia Vardalos, John Corbett, Michael Constantin...</td>\n",
       "      <td>2016</td>\n",
       "      <td>94</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20966</td>\n",
       "      <td>59.570</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>976</th>\n",
       "      <td>977</td>\n",
       "      <td>Dark Places</td>\n",
       "      <td>Drama,Mystery,Thriller</td>\n",
       "      <td>Libby Day was only eight years old when her fa...</td>\n",
       "      <td>Gilles Paquet-Brenner</td>\n",
       "      <td>Charlize Theron, Nicholas Hoult, Christina Hen...</td>\n",
       "      <td>2015</td>\n",
       "      <td>113</td>\n",
       "      <td>6.2</td>\n",
       "      <td>31634</td>\n",
       "      <td>47.985</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>977</th>\n",
       "      <td>978</td>\n",
       "      <td>Amateur Night</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Guy Carter is an award-winning graduate studen...</td>\n",
       "      <td>Lisa Addario</td>\n",
       "      <td>Jason Biggs, Janet Montgomery,Ashley Tisdale, ...</td>\n",
       "      <td>2016</td>\n",
       "      <td>92</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2229</td>\n",
       "      <td>47.985</td>\n",
       "      <td>38.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>978</th>\n",
       "      <td>979</td>\n",
       "      <td>It's Only the End of the World</td>\n",
       "      <td>Drama</td>\n",
       "      <td>Louis (Gaspard Ulliel), a terminally ill write...</td>\n",
       "      <td>Xavier Dolan</td>\n",
       "      <td>Nathalie Baye, Vincent Cassel, Marion Cotillar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>97</td>\n",
       "      <td>7.0</td>\n",
       "      <td>10658</td>\n",
       "      <td>47.985</td>\n",
       "      <td>48.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>979</th>\n",
       "      <td>980</td>\n",
       "      <td>The Skin I Live In</td>\n",
       "      <td>Drama,Thriller</td>\n",
       "      <td>A brilliant plastic surgeon, haunted by past t...</td>\n",
       "      <td>Pedro Almodóvar</td>\n",
       "      <td>Antonio Banderas, Elena Anaya, Jan Cornet,Mari...</td>\n",
       "      <td>2011</td>\n",
       "      <td>120</td>\n",
       "      <td>7.6</td>\n",
       "      <td>108772</td>\n",
       "      <td>3.190</td>\n",
       "      <td>70.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>980</th>\n",
       "      <td>981</td>\n",
       "      <td>Miracles from Heaven</td>\n",
       "      <td>Biography,Drama,Family</td>\n",
       "      <td>A young girl suffering from a rare digestive d...</td>\n",
       "      <td>Patricia Riggen</td>\n",
       "      <td>Jennifer Garner, Kylie Rogers, Martin Henderso...</td>\n",
       "      <td>2016</td>\n",
       "      <td>109</td>\n",
       "      <td>7.0</td>\n",
       "      <td>12048</td>\n",
       "      <td>61.690</td>\n",
       "      <td>44.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>981</th>\n",
       "      <td>982</td>\n",
       "      <td>Annie</td>\n",
       "      <td>Comedy,Drama,Family</td>\n",
       "      <td>A foster kid, who lives with her mean foster m...</td>\n",
       "      <td>Will Gluck</td>\n",
       "      <td>Quvenzhané Wallis, Cameron Diaz, Jamie Foxx, R...</td>\n",
       "      <td>2014</td>\n",
       "      <td>118</td>\n",
       "      <td>5.3</td>\n",
       "      <td>27312</td>\n",
       "      <td>85.910</td>\n",
       "      <td>33.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>982</th>\n",
       "      <td>983</td>\n",
       "      <td>Across the Universe</td>\n",
       "      <td>Drama,Fantasy,Musical</td>\n",
       "      <td>The music of the Beatles and the Vietnam War f...</td>\n",
       "      <td>Julie Taymor</td>\n",
       "      <td>Evan Rachel Wood, Jim Sturgess, Joe Anderson, ...</td>\n",
       "      <td>2007</td>\n",
       "      <td>133</td>\n",
       "      <td>7.4</td>\n",
       "      <td>95172</td>\n",
       "      <td>24.340</td>\n",
       "      <td>56.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>983</th>\n",
       "      <td>984</td>\n",
       "      <td>Let's Be Cops</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Two struggling pals dress as police officers f...</td>\n",
       "      <td>Luke Greenfield</td>\n",
       "      <td>Jake Johnson, Damon Wayans Jr., Rob Riggle, Ni...</td>\n",
       "      <td>2014</td>\n",
       "      <td>104</td>\n",
       "      <td>6.5</td>\n",
       "      <td>112729</td>\n",
       "      <td>82.390</td>\n",
       "      <td>30.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>984</th>\n",
       "      <td>985</td>\n",
       "      <td>Max</td>\n",
       "      <td>Adventure,Family</td>\n",
       "      <td>A Malinois dog that helped American Marines in...</td>\n",
       "      <td>Boaz Yakin</td>\n",
       "      <td>Thomas Haden Church, Josh Wiggins, Luke Kleint...</td>\n",
       "      <td>2015</td>\n",
       "      <td>111</td>\n",
       "      <td>6.8</td>\n",
       "      <td>21405</td>\n",
       "      <td>42.650</td>\n",
       "      <td>47.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>985</th>\n",
       "      <td>986</td>\n",
       "      <td>Your Highness</td>\n",
       "      <td>Adventure,Comedy,Fantasy</td>\n",
       "      <td>When Prince Fabious's bride is kidnapped, he g...</td>\n",
       "      <td>David Gordon Green</td>\n",
       "      <td>Danny McBride, Natalie Portman, James Franco, ...</td>\n",
       "      <td>2011</td>\n",
       "      <td>102</td>\n",
       "      <td>5.6</td>\n",
       "      <td>87904</td>\n",
       "      <td>21.560</td>\n",
       "      <td>31.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>986</th>\n",
       "      <td>987</td>\n",
       "      <td>Final Destination 5</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Survivors of a suspension-bridge collapse lear...</td>\n",
       "      <td>Steven Quale</td>\n",
       "      <td>Nicholas D'Agosto, Emma Bell, Arlen Escarpeta,...</td>\n",
       "      <td>2011</td>\n",
       "      <td>92</td>\n",
       "      <td>5.9</td>\n",
       "      <td>88000</td>\n",
       "      <td>42.580</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>987</th>\n",
       "      <td>988</td>\n",
       "      <td>Endless Love</td>\n",
       "      <td>Drama,Romance</td>\n",
       "      <td>The story of a privileged girl and a charismat...</td>\n",
       "      <td>Shana Feste</td>\n",
       "      <td>Gabriella Wilde, Alex Pettyfer, Bruce Greenwoo...</td>\n",
       "      <td>2014</td>\n",
       "      <td>104</td>\n",
       "      <td>6.3</td>\n",
       "      <td>33688</td>\n",
       "      <td>23.390</td>\n",
       "      <td>30.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>988</th>\n",
       "      <td>989</td>\n",
       "      <td>Martyrs</td>\n",
       "      <td>Horror</td>\n",
       "      <td>A young woman's quest for revenge against the ...</td>\n",
       "      <td>Pascal Laugier</td>\n",
       "      <td>Morjana Alaoui, Mylène Jampanoï, Catherine Bég...</td>\n",
       "      <td>2008</td>\n",
       "      <td>99</td>\n",
       "      <td>7.1</td>\n",
       "      <td>63785</td>\n",
       "      <td>47.985</td>\n",
       "      <td>89.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>989</th>\n",
       "      <td>990</td>\n",
       "      <td>Selma</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>A chronicle of Martin Luther King's campaign t...</td>\n",
       "      <td>Ava DuVernay</td>\n",
       "      <td>David Oyelowo, Carmen Ejogo, Tim Roth, Lorrain...</td>\n",
       "      <td>2014</td>\n",
       "      <td>128</td>\n",
       "      <td>7.5</td>\n",
       "      <td>67637</td>\n",
       "      <td>52.070</td>\n",
       "      <td>59.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>990</th>\n",
       "      <td>991</td>\n",
       "      <td>Underworld: Rise of the Lycans</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>An origins story centered on the centuries-old...</td>\n",
       "      <td>Patrick Tatopoulos</td>\n",
       "      <td>Rhona Mitra, Michael Sheen, Bill Nighy, Steven...</td>\n",
       "      <td>2009</td>\n",
       "      <td>92</td>\n",
       "      <td>6.6</td>\n",
       "      <td>129708</td>\n",
       "      <td>45.800</td>\n",
       "      <td>44.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>991</th>\n",
       "      <td>992</td>\n",
       "      <td>Taare Zameen Par</td>\n",
       "      <td>Drama,Family,Music</td>\n",
       "      <td>An eight-year-old boy is thought to be a lazy ...</td>\n",
       "      <td>Aamir Khan</td>\n",
       "      <td>Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...</td>\n",
       "      <td>2007</td>\n",
       "      <td>165</td>\n",
       "      <td>8.5</td>\n",
       "      <td>102697</td>\n",
       "      <td>1.200</td>\n",
       "      <td>42.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>992</th>\n",
       "      <td>993</td>\n",
       "      <td>Take Me Home Tonight</td>\n",
       "      <td>Comedy,Drama,Romance</td>\n",
       "      <td>Four years after graduation, an awkward high s...</td>\n",
       "      <td>Michael Dowse</td>\n",
       "      <td>Topher Grace, Anna Faris, Dan Fogler, Teresa P...</td>\n",
       "      <td>2011</td>\n",
       "      <td>97</td>\n",
       "      <td>6.3</td>\n",
       "      <td>45419</td>\n",
       "      <td>6.920</td>\n",
       "      <td>59.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>993</th>\n",
       "      <td>994</td>\n",
       "      <td>Resident Evil: Afterlife</td>\n",
       "      <td>Action,Adventure,Horror</td>\n",
       "      <td>While still out to destroy the evil Umbrella C...</td>\n",
       "      <td>Paul W.S. Anderson</td>\n",
       "      <td>Milla Jovovich, Ali Larter, Wentworth Miller,K...</td>\n",
       "      <td>2010</td>\n",
       "      <td>97</td>\n",
       "      <td>5.9</td>\n",
       "      <td>140900</td>\n",
       "      <td>60.130</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>994</th>\n",
       "      <td>995</td>\n",
       "      <td>Project X</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>3 high school seniors throw a birthday party t...</td>\n",
       "      <td>Nima Nourizadeh</td>\n",
       "      <td>Thomas Mann, Oliver Cooper, Jonathan Daniel Br...</td>\n",
       "      <td>2012</td>\n",
       "      <td>88</td>\n",
       "      <td>6.7</td>\n",
       "      <td>164088</td>\n",
       "      <td>54.720</td>\n",
       "      <td>48.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>995</th>\n",
       "      <td>996</td>\n",
       "      <td>Secret in Their Eyes</td>\n",
       "      <td>Crime,Drama,Mystery</td>\n",
       "      <td>A tight-knit team of rising investigators, alo...</td>\n",
       "      <td>Billy Ray</td>\n",
       "      <td>Chiwetel Ejiofor, Nicole Kidman, Julia Roberts...</td>\n",
       "      <td>2015</td>\n",
       "      <td>111</td>\n",
       "      <td>6.2</td>\n",
       "      <td>27585</td>\n",
       "      <td>47.985</td>\n",
       "      <td>45.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>996</th>\n",
       "      <td>997</td>\n",
       "      <td>Hostel: Part II</td>\n",
       "      <td>Horror</td>\n",
       "      <td>Three American college students studying abroa...</td>\n",
       "      <td>Eli Roth</td>\n",
       "      <td>Lauren German, Heather Matarazzo, Bijou Philli...</td>\n",
       "      <td>2007</td>\n",
       "      <td>94</td>\n",
       "      <td>5.5</td>\n",
       "      <td>73152</td>\n",
       "      <td>17.540</td>\n",
       "      <td>46.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>997</th>\n",
       "      <td>998</td>\n",
       "      <td>Step Up 2: The Streets</td>\n",
       "      <td>Drama,Music,Romance</td>\n",
       "      <td>Romantic sparks occur between two dance studen...</td>\n",
       "      <td>Jon M. Chu</td>\n",
       "      <td>Robert Hoffman, Briana Evigan, Cassie Ventura,...</td>\n",
       "      <td>2008</td>\n",
       "      <td>98</td>\n",
       "      <td>6.2</td>\n",
       "      <td>70699</td>\n",
       "      <td>58.010</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>998</th>\n",
       "      <td>999</td>\n",
       "      <td>Search Party</td>\n",
       "      <td>Adventure,Comedy</td>\n",
       "      <td>A pair of friends embark on a mission to reuni...</td>\n",
       "      <td>Scot Armstrong</td>\n",
       "      <td>Adam Pally, T.J. Miller, Thomas Middleditch,Sh...</td>\n",
       "      <td>2014</td>\n",
       "      <td>93</td>\n",
       "      <td>5.6</td>\n",
       "      <td>4881</td>\n",
       "      <td>47.985</td>\n",
       "      <td>22.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999</th>\n",
       "      <td>1000</td>\n",
       "      <td>Nine Lives</td>\n",
       "      <td>Comedy,Family,Fantasy</td>\n",
       "      <td>A stuffy businessman finds himself trapped ins...</td>\n",
       "      <td>Barry Sonnenfeld</td>\n",
       "      <td>Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...</td>\n",
       "      <td>2016</td>\n",
       "      <td>87</td>\n",
       "      <td>5.3</td>\n",
       "      <td>12435</td>\n",
       "      <td>19.640</td>\n",
       "      <td>11.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1000 rows × 12 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Rank                                    Title  \\\n",
       "0       1                  Guardians of the Galaxy   \n",
       "1       2                               Prometheus   \n",
       "2       3                                    Split   \n",
       "3       4                                     Sing   \n",
       "4       5                            Suicide Squad   \n",
       "5       6                           The Great Wall   \n",
       "6       7                               La La Land   \n",
       "7       8                                 Mindhorn   \n",
       "8       9                       The Lost City of Z   \n",
       "9      10                               Passengers   \n",
       "10     11  Fantastic Beasts and Where to Find Them   \n",
       "11     12                           Hidden Figures   \n",
       "12     13                                Rogue One   \n",
       "13     14                                    Moana   \n",
       "14     15                                 Colossal   \n",
       "15     16                  The Secret Life of Pets   \n",
       "16     17                            Hacksaw Ridge   \n",
       "17     18                             Jason Bourne   \n",
       "18     19                                     Lion   \n",
       "19     20                                  Arrival   \n",
       "20     21                                     Gold   \n",
       "21     22                    Manchester by the Sea   \n",
       "22     23                           Hounds of Love   \n",
       "23     24                                   Trolls   \n",
       "24     25             Independence Day: Resurgence   \n",
       "25     26                          Paris pieds nus   \n",
       "26     27                  Bahubali: The Beginning   \n",
       "27     28                               Dead Awake   \n",
       "28     29                                 Bad Moms   \n",
       "29     30                         Assassin's Creed   \n",
       "..    ...                                      ...   \n",
       "970   971                        Texas Chainsaw 3D   \n",
       "971   972                                Disturbia   \n",
       "972   973                             Rock of Ages   \n",
       "973   974                                 Scream 4   \n",
       "974   975                           Queen of Katwe   \n",
       "975   976               My Big Fat Greek Wedding 2   \n",
       "976   977                              Dark Places   \n",
       "977   978                            Amateur Night   \n",
       "978   979           It's Only the End of the World   \n",
       "979   980                       The Skin I Live In   \n",
       "980   981                     Miracles from Heaven   \n",
       "981   982                                    Annie   \n",
       "982   983                      Across the Universe   \n",
       "983   984                            Let's Be Cops   \n",
       "984   985                                      Max   \n",
       "985   986                            Your Highness   \n",
       "986   987                      Final Destination 5   \n",
       "987   988                             Endless Love   \n",
       "988   989                                  Martyrs   \n",
       "989   990                                    Selma   \n",
       "990   991           Underworld: Rise of the Lycans   \n",
       "991   992                         Taare Zameen Par   \n",
       "992   993                     Take Me Home Tonight   \n",
       "993   994                 Resident Evil: Afterlife   \n",
       "994   995                                Project X   \n",
       "995   996                     Secret in Their Eyes   \n",
       "996   997                          Hostel: Part II   \n",
       "997   998                   Step Up 2: The Streets   \n",
       "998   999                             Search Party   \n",
       "999  1000                               Nine Lives   \n",
       "\n",
       "                          Genre  \\\n",
       "0       Action,Adventure,Sci-Fi   \n",
       "1      Adventure,Mystery,Sci-Fi   \n",
       "2               Horror,Thriller   \n",
       "3       Animation,Comedy,Family   \n",
       "4      Action,Adventure,Fantasy   \n",
       "5      Action,Adventure,Fantasy   \n",
       "6            Comedy,Drama,Music   \n",
       "7                        Comedy   \n",
       "8    Action,Adventure,Biography   \n",
       "9       Adventure,Drama,Romance   \n",
       "10     Adventure,Family,Fantasy   \n",
       "11      Biography,Drama,History   \n",
       "12      Action,Adventure,Sci-Fi   \n",
       "13   Animation,Adventure,Comedy   \n",
       "14          Action,Comedy,Drama   \n",
       "15   Animation,Adventure,Comedy   \n",
       "16      Biography,Drama,History   \n",
       "17              Action,Thriller   \n",
       "18              Biography,Drama   \n",
       "19         Drama,Mystery,Sci-Fi   \n",
       "20     Adventure,Drama,Thriller   \n",
       "21                        Drama   \n",
       "22           Crime,Drama,Horror   \n",
       "23   Animation,Adventure,Comedy   \n",
       "24      Action,Adventure,Sci-Fi   \n",
       "25                       Comedy   \n",
       "26       Action,Adventure,Drama   \n",
       "27              Horror,Thriller   \n",
       "28                       Comedy   \n",
       "29       Action,Adventure,Drama   \n",
       "..                          ...   \n",
       "970             Horror,Thriller   \n",
       "971      Drama,Mystery,Thriller   \n",
       "972        Comedy,Drama,Musical   \n",
       "973              Horror,Mystery   \n",
       "974       Biography,Drama,Sport   \n",
       "975       Comedy,Family,Romance   \n",
       "976      Drama,Mystery,Thriller   \n",
       "977                      Comedy   \n",
       "978                       Drama   \n",
       "979              Drama,Thriller   \n",
       "980      Biography,Drama,Family   \n",
       "981         Comedy,Drama,Family   \n",
       "982       Drama,Fantasy,Musical   \n",
       "983                      Comedy   \n",
       "984            Adventure,Family   \n",
       "985    Adventure,Comedy,Fantasy   \n",
       "986             Horror,Thriller   \n",
       "987               Drama,Romance   \n",
       "988                      Horror   \n",
       "989     Biography,Drama,History   \n",
       "990    Action,Adventure,Fantasy   \n",
       "991          Drama,Family,Music   \n",
       "992        Comedy,Drama,Romance   \n",
       "993     Action,Adventure,Horror   \n",
       "994                      Comedy   \n",
       "995         Crime,Drama,Mystery   \n",
       "996                      Horror   \n",
       "997         Drama,Music,Romance   \n",
       "998            Adventure,Comedy   \n",
       "999       Comedy,Family,Fantasy   \n",
       "\n",
       "                                           Description               Director  \\\n",
       "0    A group of intergalactic criminals are forced ...             James Gunn   \n",
       "1    Following clues to the origin of mankind, a te...           Ridley Scott   \n",
       "2    Three girls are kidnapped by a man with a diag...     M. Night Shyamalan   \n",
       "3    In a city of humanoid animals, a hustling thea...   Christophe Lourdelet   \n",
       "4    A secret government agency recruits some of th...             David Ayer   \n",
       "5    European mercenaries searching for black powde...            Yimou Zhang   \n",
       "6    A jazz pianist falls for an aspiring actress i...        Damien Chazelle   \n",
       "7    A has-been actor best known for playing the ti...             Sean Foley   \n",
       "8    A true-life drama, centering on British explor...             James Gray   \n",
       "9    A spacecraft traveling to a distant colony pla...          Morten Tyldum   \n",
       "10   The adventures of writer Newt Scamander in New...            David Yates   \n",
       "11   The story of a team of female African-American...         Theodore Melfi   \n",
       "12   The Rebel Alliance makes a risky move to steal...         Gareth Edwards   \n",
       "13   In Ancient Polynesia, when a terrible curse in...           Ron Clements   \n",
       "14   Gloria is an out-of-work party girl forced to ...        Nacho Vigalondo   \n",
       "15   The quiet life of a terrier named Max is upend...           Chris Renaud   \n",
       "16   WWII American Army Medic Desmond T. Doss, who ...             Mel Gibson   \n",
       "17   The CIA's most dangerous former operative is d...        Paul Greengrass   \n",
       "18   A five-year-old Indian boy gets lost on the st...            Garth Davis   \n",
       "19   When twelve mysterious spacecraft appear aroun...       Denis Villeneuve   \n",
       "20   Kenny Wells, a prospector desperate for a luck...         Stephen Gaghan   \n",
       "21   A depressed uncle is asked to take care of his...       Kenneth Lonergan   \n",
       "22   A cold-blooded predatory couple while cruising...              Ben Young   \n",
       "23   After the Bergens invade Troll Village, Poppy,...             Walt Dohrn   \n",
       "24   Two decades after the first Independence Day i...        Roland Emmerich   \n",
       "25   Fiona visits Paris for the first time to assis...         Dominique Abel   \n",
       "26   In ancient India, an adventurous and daring ma...         S.S. Rajamouli   \n",
       "27   A young woman must save herself and her friend...         Phillip Guzman   \n",
       "28   When three overworked and under-appreciated mo...              Jon Lucas   \n",
       "29   When Callum Lynch explores the memories of his...          Justin Kurzel   \n",
       "..                                                 ...                    ...   \n",
       "970  A young woman travels to Texas to collect an i...        John Luessenhop   \n",
       "971  A teen living under house arrest becomes convi...            D.J. Caruso   \n",
       "972  A small town girl and a city boy meet on the S...          Adam Shankman   \n",
       "973  Ten years have passed, and Sidney Prescott, wh...             Wes Craven   \n",
       "974  A Ugandan girl sees her world rapidly change a...              Mira Nair   \n",
       "975  A Portokalos family secret brings the beloved ...             Kirk Jones   \n",
       "976  Libby Day was only eight years old when her fa...  Gilles Paquet-Brenner   \n",
       "977  Guy Carter is an award-winning graduate studen...           Lisa Addario   \n",
       "978  Louis (Gaspard Ulliel), a terminally ill write...           Xavier Dolan   \n",
       "979  A brilliant plastic surgeon, haunted by past t...        Pedro Almodóvar   \n",
       "980  A young girl suffering from a rare digestive d...        Patricia Riggen   \n",
       "981  A foster kid, who lives with her mean foster m...             Will Gluck   \n",
       "982  The music of the Beatles and the Vietnam War f...           Julie Taymor   \n",
       "983  Two struggling pals dress as police officers f...        Luke Greenfield   \n",
       "984  A Malinois dog that helped American Marines in...             Boaz Yakin   \n",
       "985  When Prince Fabious's bride is kidnapped, he g...     David Gordon Green   \n",
       "986  Survivors of a suspension-bridge collapse lear...           Steven Quale   \n",
       "987  The story of a privileged girl and a charismat...            Shana Feste   \n",
       "988  A young woman's quest for revenge against the ...         Pascal Laugier   \n",
       "989  A chronicle of Martin Luther King's campaign t...           Ava DuVernay   \n",
       "990  An origins story centered on the centuries-old...     Patrick Tatopoulos   \n",
       "991  An eight-year-old boy is thought to be a lazy ...             Aamir Khan   \n",
       "992  Four years after graduation, an awkward high s...          Michael Dowse   \n",
       "993  While still out to destroy the evil Umbrella C...     Paul W.S. Anderson   \n",
       "994  3 high school seniors throw a birthday party t...        Nima Nourizadeh   \n",
       "995  A tight-knit team of rising investigators, alo...              Billy Ray   \n",
       "996  Three American college students studying abroa...               Eli Roth   \n",
       "997  Romantic sparks occur between two dance studen...             Jon M. Chu   \n",
       "998  A pair of friends embark on a mission to reuni...         Scot Armstrong   \n",
       "999  A stuffy businessman finds himself trapped ins...       Barry Sonnenfeld   \n",
       "\n",
       "                                                Actors  Year  \\\n",
       "0    Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...  2014   \n",
       "1    Noomi Rapace, Logan Marshall-Green, Michael Fa...  2012   \n",
       "2    James McAvoy, Anya Taylor-Joy, Haley Lu Richar...  2016   \n",
       "3    Matthew McConaughey,Reese Witherspoon, Seth Ma...  2016   \n",
       "4    Will Smith, Jared Leto, Margot Robbie, Viola D...  2016   \n",
       "5        Matt Damon, Tian Jing, Willem Dafoe, Andy Lau  2016   \n",
       "6    Ryan Gosling, Emma Stone, Rosemarie DeWitt, J....  2016   \n",
       "7    Essie Davis, Andrea Riseborough, Julian Barrat...  2016   \n",
       "8    Charlie Hunnam, Robert Pattinson, Sienna Mille...  2016   \n",
       "9    Jennifer Lawrence, Chris Pratt, Michael Sheen,...  2016   \n",
       "10   Eddie Redmayne, Katherine Waterston, Alison Su...  2016   \n",
       "11   Taraji P. Henson, Octavia Spencer, Janelle Mon...  2016   \n",
       "12   Felicity Jones, Diego Luna, Alan Tudyk, Donnie...  2016   \n",
       "13   Auli'i Cravalho, Dwayne Johnson, Rachel House,...  2016   \n",
       "14   Anne Hathaway, Jason Sudeikis, Austin Stowell,...  2016   \n",
       "15   Louis C.K., Eric Stonestreet, Kevin Hart, Lake...  2016   \n",
       "16   Andrew Garfield, Sam Worthington, Luke Bracey,...  2016   \n",
       "17   Matt Damon, Tommy Lee Jones, Alicia Vikander,V...  2016   \n",
       "18   Dev Patel, Nicole Kidman, Rooney Mara, Sunny P...  2016   \n",
       "19   Amy Adams, Jeremy Renner, Forest Whitaker,Mich...  2016   \n",
       "20   Matthew McConaughey, Edgar Ramírez, Bryce Dall...  2016   \n",
       "21   Casey Affleck, Michelle Williams, Kyle Chandle...  2016   \n",
       "22   Emma Booth, Ashleigh Cummings, Stephen Curry,S...  2016   \n",
       "23   Anna Kendrick, Justin Timberlake,Zooey Deschan...  2016   \n",
       "24   Liam Hemsworth, Jeff Goldblum, Bill Pullman,Ma...  2016   \n",
       "25   Fiona Gordon, Dominique Abel,Emmanuelle Riva, ...  2016   \n",
       "26   Prabhas, Rana Daggubati, Anushka Shetty,Tamann...  2015   \n",
       "27   Jocelin Donahue, Jesse Bradford, Jesse Borrego...  2016   \n",
       "28   Mila Kunis, Kathryn Hahn, Kristen Bell,Christi...  2016   \n",
       "29   Michael Fassbender, Marion Cotillard, Jeremy I...  2016   \n",
       "..                                                 ...   ...   \n",
       "970  Alexandra Daddario, Tania Raymonde, Scott East...  2013   \n",
       "971  Shia LaBeouf, David Morse, Carrie-Anne Moss, S...  2007   \n",
       "972  Julianne Hough, Diego Boneta, Tom Cruise, Alec...  2012   \n",
       "973  Neve Campbell, Courteney Cox, David Arquette, ...  2011   \n",
       "974  Madina Nalwanga, David Oyelowo, Lupita Nyong'o...  2016   \n",
       "975  Nia Vardalos, John Corbett, Michael Constantin...  2016   \n",
       "976  Charlize Theron, Nicholas Hoult, Christina Hen...  2015   \n",
       "977  Jason Biggs, Janet Montgomery,Ashley Tisdale, ...  2016   \n",
       "978  Nathalie Baye, Vincent Cassel, Marion Cotillar...  2016   \n",
       "979  Antonio Banderas, Elena Anaya, Jan Cornet,Mari...  2011   \n",
       "980  Jennifer Garner, Kylie Rogers, Martin Henderso...  2016   \n",
       "981  Quvenzhané Wallis, Cameron Diaz, Jamie Foxx, R...  2014   \n",
       "982  Evan Rachel Wood, Jim Sturgess, Joe Anderson, ...  2007   \n",
       "983  Jake Johnson, Damon Wayans Jr., Rob Riggle, Ni...  2014   \n",
       "984  Thomas Haden Church, Josh Wiggins, Luke Kleint...  2015   \n",
       "985  Danny McBride, Natalie Portman, James Franco, ...  2011   \n",
       "986  Nicholas D'Agosto, Emma Bell, Arlen Escarpeta,...  2011   \n",
       "987  Gabriella Wilde, Alex Pettyfer, Bruce Greenwoo...  2014   \n",
       "988  Morjana Alaoui, Mylène Jampanoï, Catherine Bég...  2008   \n",
       "989  David Oyelowo, Carmen Ejogo, Tim Roth, Lorrain...  2014   \n",
       "990  Rhona Mitra, Michael Sheen, Bill Nighy, Steven...  2009   \n",
       "991  Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...  2007   \n",
       "992  Topher Grace, Anna Faris, Dan Fogler, Teresa P...  2011   \n",
       "993  Milla Jovovich, Ali Larter, Wentworth Miller,K...  2010   \n",
       "994  Thomas Mann, Oliver Cooper, Jonathan Daniel Br...  2012   \n",
       "995  Chiwetel Ejiofor, Nicole Kidman, Julia Roberts...  2015   \n",
       "996  Lauren German, Heather Matarazzo, Bijou Philli...  2007   \n",
       "997  Robert Hoffman, Briana Evigan, Cassie Ventura,...  2008   \n",
       "998  Adam Pally, T.J. Miller, Thomas Middleditch,Sh...  2014   \n",
       "999  Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...  2016   \n",
       "\n",
       "     Runtime (Minutes)  Rating   Votes  Revenue (Millions)  Metascore  \n",
       "0                  121     8.1  757074             333.130       76.0  \n",
       "1                  124     7.0  485820             126.460       65.0  \n",
       "2                  117     7.3  157606             138.120       62.0  \n",
       "3                  108     7.2   60545             270.320       59.0  \n",
       "4                  123     6.2  393727             325.020       40.0  \n",
       "5                  103     6.1   56036              45.130       42.0  \n",
       "6                  128     8.3  258682             151.060       93.0  \n",
       "7                   89     6.4    2490              47.985       71.0  \n",
       "8                  141     7.1    7188               8.010       78.0  \n",
       "9                  116     7.0  192177             100.010       41.0  \n",
       "10                 133     7.5  232072             234.020       66.0  \n",
       "11                 127     7.8   93103             169.270       74.0  \n",
       "12                 133     7.9  323118             532.170       65.0  \n",
       "13                 107     7.7  118151             248.750       81.0  \n",
       "14                 109     6.4    8612               2.870       70.0  \n",
       "15                  87     6.6  120259             368.310       61.0  \n",
       "16                 139     8.2  211760              67.120       71.0  \n",
       "17                 123     6.7  150823             162.160       58.0  \n",
       "18                 118     8.1  102061              51.690       69.0  \n",
       "19                 116     8.0  340798             100.500       81.0  \n",
       "20                 120     6.7   19053               7.220       49.0  \n",
       "21                 137     7.9  134213              47.700       96.0  \n",
       "22                 108     6.7    1115              47.985       72.0  \n",
       "23                  92     6.5   38552             153.690       56.0  \n",
       "24                 120     5.3  127553             103.140       32.0  \n",
       "25                  83     6.8     222              47.985       59.5  \n",
       "26                 159     8.3   76193               6.500       59.5  \n",
       "27                  99     4.7     523               0.010       59.5  \n",
       "28                 100     6.2   66540             113.080       60.0  \n",
       "29                 115     5.9  112813              54.650       36.0  \n",
       "..                 ...     ...     ...                 ...        ...  \n",
       "970                 92     4.8   37060              34.330       62.0  \n",
       "971                105     6.9  193491              80.050       59.5  \n",
       "972                123     5.9   64513              38.510       47.0  \n",
       "973                111     6.2  108544              38.180       52.0  \n",
       "974                124     7.4    6753               8.810       73.0  \n",
       "975                 94     6.0   20966              59.570       37.0  \n",
       "976                113     6.2   31634              47.985       39.0  \n",
       "977                 92     5.0    2229              47.985       38.0  \n",
       "978                 97     7.0   10658              47.985       48.0  \n",
       "979                120     7.6  108772               3.190       70.0  \n",
       "980                109     7.0   12048              61.690       44.0  \n",
       "981                118     5.3   27312              85.910       33.0  \n",
       "982                133     7.4   95172              24.340       56.0  \n",
       "983                104     6.5  112729              82.390       30.0  \n",
       "984                111     6.8   21405              42.650       47.0  \n",
       "985                102     5.6   87904              21.560       31.0  \n",
       "986                 92     5.9   88000              42.580       50.0  \n",
       "987                104     6.3   33688              23.390       30.0  \n",
       "988                 99     7.1   63785              47.985       89.0  \n",
       "989                128     7.5   67637              52.070       59.5  \n",
       "990                 92     6.6  129708              45.800       44.0  \n",
       "991                165     8.5  102697               1.200       42.0  \n",
       "992                 97     6.3   45419               6.920       59.5  \n",
       "993                 97     5.9  140900              60.130       37.0  \n",
       "994                 88     6.7  164088              54.720       48.0  \n",
       "995                111     6.2   27585              47.985       45.0  \n",
       "996                 94     5.5   73152              17.540       46.0  \n",
       "997                 98     6.2   70699              58.010       50.0  \n",
       "998                 93     5.6    4881              47.985       22.0  \n",
       "999                 87     5.3   12435              19.640       11.0  \n",
       "\n",
       "[1000 rows x 12 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 第二种处理方式：填充（替换）缺失值\n",
    "data.fillna(value=data.median())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 有特殊标记的缺失  # 1057013\n",
    "wis = pd.read_csv(\"https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 把有特殊标记的缺失值替换成np.nan\n",
    "wis_2 = wis.replace(to_replace='?', value=np.nan)\n",
    "\n",
    "# 删除缺失值\n",
    "wis_2.dropna()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据离散化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 读取数据\n",
    "data = pd.read_csv('./data/stock_day.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>22.942</td>\n",
       "      <td>22.142</td>\n",
       "      <td>22.875</td>\n",
       "      <td>53782.64</td>\n",
       "      <td>46738.65</td>\n",
       "      <td>55576.11</td>\n",
       "      <td>2.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-26</th>\n",
       "      <td>22.80</td>\n",
       "      <td>23.78</td>\n",
       "      <td>23.53</td>\n",
       "      <td>22.80</td>\n",
       "      <td>60985.11</td>\n",
       "      <td>0.69</td>\n",
       "      <td>3.02</td>\n",
       "      <td>22.406</td>\n",
       "      <td>21.955</td>\n",
       "      <td>22.942</td>\n",
       "      <td>40827.52</td>\n",
       "      <td>42736.34</td>\n",
       "      <td>56007.50</td>\n",
       "      <td>1.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-23</th>\n",
       "      <td>22.88</td>\n",
       "      <td>23.37</td>\n",
       "      <td>22.82</td>\n",
       "      <td>22.71</td>\n",
       "      <td>52914.01</td>\n",
       "      <td>0.54</td>\n",
       "      <td>2.42</td>\n",
       "      <td>21.938</td>\n",
       "      <td>21.929</td>\n",
       "      <td>23.022</td>\n",
       "      <td>35119.58</td>\n",
       "      <td>41871.97</td>\n",
       "      <td>56372.85</td>\n",
       "      <td>1.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-22</th>\n",
       "      <td>22.25</td>\n",
       "      <td>22.76</td>\n",
       "      <td>22.28</td>\n",
       "      <td>22.02</td>\n",
       "      <td>36105.01</td>\n",
       "      <td>0.36</td>\n",
       "      <td>1.64</td>\n",
       "      <td>21.446</td>\n",
       "      <td>21.909</td>\n",
       "      <td>23.137</td>\n",
       "      <td>35397.58</td>\n",
       "      <td>39904.78</td>\n",
       "      <td>60149.60</td>\n",
       "      <td>0.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-14</th>\n",
       "      <td>21.49</td>\n",
       "      <td>21.99</td>\n",
       "      <td>21.92</td>\n",
       "      <td>21.48</td>\n",
       "      <td>23331.04</td>\n",
       "      <td>0.44</td>\n",
       "      <td>2.05</td>\n",
       "      <td>21.366</td>\n",
       "      <td>21.923</td>\n",
       "      <td>23.253</td>\n",
       "      <td>33590.21</td>\n",
       "      <td>42935.74</td>\n",
       "      <td>61716.11</td>\n",
       "      <td>0.58</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53  95578.03          0.63      2.68   \n",
       "2018-02-26  22.80  23.78  23.53  22.80  60985.11          0.69      3.02   \n",
       "2018-02-23  22.88  23.37  22.82  22.71  52914.01          0.54      2.42   \n",
       "2018-02-22  22.25  22.76  22.28  22.02  36105.01          0.36      1.64   \n",
       "2018-02-14  21.49  21.99  21.92  21.48  23331.04          0.44      2.05   \n",
       "\n",
       "               ma5    ma10    ma20     v_ma5    v_ma10    v_ma20  turnover  \n",
       "2018-02-27  22.942  22.142  22.875  53782.64  46738.65  55576.11      2.39  \n",
       "2018-02-26  22.406  21.955  22.942  40827.52  42736.34  56007.50      1.53  \n",
       "2018-02-23  21.938  21.929  23.022  35119.58  41871.97  56372.85      1.32  \n",
       "2018-02-22  21.446  21.909  23.137  35397.58  39904.78  60149.60      0.90  \n",
       "2018-02-14  21.366  21.923  23.253  33590.21  42935.74  61716.11      0.58  "
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 取出p_change这一列数据\n",
    "p_change = data['p_change']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2018-02-27    (1.49, 10.03]\n",
       "2018-02-26    (1.49, 10.03]\n",
       "2018-02-23    (1.49, 10.03]\n",
       "2018-02-22    (1.49, 10.03]\n",
       "2018-02-14    (1.49, 10.03]\n",
       "Name: p_change, dtype: category\n",
       "Categories (3, interval[float64]): [(-10.030999999999999, -1.04] < (-1.04, 1.49] < (1.49, 10.03]]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 进行数据离散化 labels: 离散化之后每个类别的标记\n",
    "pd.qcut(p_change, 3).head()  # 把样本平均分到指定数量的类别中\n",
    "# res.value_counts()  # 统计各个类别的数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 把区间平均分成指定数量的份数，再对落在每个区间内的样本打上相应区间的标签\n",
    "res = pd.cut(p_change, 3)\n",
    "# res.value_counts()  # 统计各个类别的数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2018-02-27     (-3.343, 3.343]\n",
       "2018-02-26     (-3.343, 3.343]\n",
       "2018-02-23     (-3.343, 3.343]\n",
       "2018-02-22     (-3.343, 3.343]\n",
       "2018-02-14     (-3.343, 3.343]\n",
       "2018-02-13     (-3.343, 3.343]\n",
       "2018-02-12      (3.343, 10.03]\n",
       "2018-02-09    (-10.05, -3.343]\n",
       "2018-02-08     (-3.343, 3.343]\n",
       "2018-02-07     (-3.343, 3.343]\n",
       "2018-02-06    (-10.05, -3.343]\n",
       "2018-02-05     (-3.343, 3.343]\n",
       "2018-02-02     (-3.343, 3.343]\n",
       "2018-02-01    (-10.05, -3.343]\n",
       "2018-01-31     (-3.343, 3.343]\n",
       "2018-01-30     (-3.343, 3.343]\n",
       "2018-01-29     (-3.343, 3.343]\n",
       "2018-01-26     (-3.343, 3.343]\n",
       "2018-01-25    (-10.05, -3.343]\n",
       "2018-01-24     (-3.343, 3.343]\n",
       "2018-01-23     (-3.343, 3.343]\n",
       "2018-01-22     (-3.343, 3.343]\n",
       "2018-01-19     (-3.343, 3.343]\n",
       "2018-01-18     (-3.343, 3.343]\n",
       "2018-01-17     (-3.343, 3.343]\n",
       "2018-01-16      (3.343, 10.03]\n",
       "2018-01-15     (-3.343, 3.343]\n",
       "2018-01-12     (-3.343, 3.343]\n",
       "2018-01-11     (-3.343, 3.343]\n",
       "2018-01-10     (-3.343, 3.343]\n",
       "                    ...       \n",
       "2015-04-13      (3.343, 10.03]\n",
       "2015-04-10     (-3.343, 3.343]\n",
       "2015-04-09      (3.343, 10.03]\n",
       "2015-04-08      (3.343, 10.03]\n",
       "2015-04-07      (3.343, 10.03]\n",
       "2015-04-03     (-3.343, 3.343]\n",
       "2015-04-02     (-3.343, 3.343]\n",
       "2015-04-01     (-3.343, 3.343]\n",
       "2015-03-31     (-3.343, 3.343]\n",
       "2015-03-30      (3.343, 10.03]\n",
       "2015-03-27      (3.343, 10.03]\n",
       "2015-03-26     (-3.343, 3.343]\n",
       "2015-03-25     (-3.343, 3.343]\n",
       "2015-03-24     (-3.343, 3.343]\n",
       "2015-03-23     (-3.343, 3.343]\n",
       "2015-03-20     (-3.343, 3.343]\n",
       "2015-03-19     (-3.343, 3.343]\n",
       "2015-03-18     (-3.343, 3.343]\n",
       "2015-03-17     (-3.343, 3.343]\n",
       "2015-03-16     (-3.343, 3.343]\n",
       "2015-03-13     (-3.343, 3.343]\n",
       "2015-03-12     (-3.343, 3.343]\n",
       "2015-03-11     (-3.343, 3.343]\n",
       "2015-03-10     (-3.343, 3.343]\n",
       "2015-03-09     (-3.343, 3.343]\n",
       "2015-03-06      (3.343, 10.03]\n",
       "2015-03-05     (-3.343, 3.343]\n",
       "2015-03-04     (-3.343, 3.343]\n",
       "2015-03-03     (-3.343, 3.343]\n",
       "2015-03-02     (-3.343, 3.343]\n",
       "Name: p_change, Length: 643, dtype: category\n",
       "Categories (3, interval[float64]): [(-10.05, -3.343] < (-3.343, 3.343] < (3.343, 10.03]]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "# one_hot编码\n",
    "res = pd.get_dummies(res, prefix='abc')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>22.942</td>\n",
       "      <td>22.142</td>\n",
       "      <td>22.875</td>\n",
       "      <td>53782.64</td>\n",
       "      <td>46738.65</td>\n",
       "      <td>55576.11</td>\n",
       "      <td>2.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-26</th>\n",
       "      <td>22.80</td>\n",
       "      <td>23.78</td>\n",
       "      <td>23.53</td>\n",
       "      <td>22.80</td>\n",
       "      <td>60985.11</td>\n",
       "      <td>0.69</td>\n",
       "      <td>3.02</td>\n",
       "      <td>22.406</td>\n",
       "      <td>21.955</td>\n",
       "      <td>22.942</td>\n",
       "      <td>40827.52</td>\n",
       "      <td>42736.34</td>\n",
       "      <td>56007.50</td>\n",
       "      <td>1.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-23</th>\n",
       "      <td>22.88</td>\n",
       "      <td>23.37</td>\n",
       "      <td>22.82</td>\n",
       "      <td>22.71</td>\n",
       "      <td>52914.01</td>\n",
       "      <td>0.54</td>\n",
       "      <td>2.42</td>\n",
       "      <td>21.938</td>\n",
       "      <td>21.929</td>\n",
       "      <td>23.022</td>\n",
       "      <td>35119.58</td>\n",
       "      <td>41871.97</td>\n",
       "      <td>56372.85</td>\n",
       "      <td>1.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-22</th>\n",
       "      <td>22.25</td>\n",
       "      <td>22.76</td>\n",
       "      <td>22.28</td>\n",
       "      <td>22.02</td>\n",
       "      <td>36105.01</td>\n",
       "      <td>0.36</td>\n",
       "      <td>1.64</td>\n",
       "      <td>21.446</td>\n",
       "      <td>21.909</td>\n",
       "      <td>23.137</td>\n",
       "      <td>35397.58</td>\n",
       "      <td>39904.78</td>\n",
       "      <td>60149.60</td>\n",
       "      <td>0.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-14</th>\n",
       "      <td>21.49</td>\n",
       "      <td>21.99</td>\n",
       "      <td>21.92</td>\n",
       "      <td>21.48</td>\n",
       "      <td>23331.04</td>\n",
       "      <td>0.44</td>\n",
       "      <td>2.05</td>\n",
       "      <td>21.366</td>\n",
       "      <td>21.923</td>\n",
       "      <td>23.253</td>\n",
       "      <td>33590.21</td>\n",
       "      <td>42935.74</td>\n",
       "      <td>61716.11</td>\n",
       "      <td>0.58</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53  95578.03          0.63      2.68   \n",
       "2018-02-26  22.80  23.78  23.53  22.80  60985.11          0.69      3.02   \n",
       "2018-02-23  22.88  23.37  22.82  22.71  52914.01          0.54      2.42   \n",
       "2018-02-22  22.25  22.76  22.28  22.02  36105.01          0.36      1.64   \n",
       "2018-02-14  21.49  21.99  21.92  21.48  23331.04          0.44      2.05   \n",
       "\n",
       "               ma5    ma10    ma20     v_ma5    v_ma10    v_ma20  turnover  \n",
       "2018-02-27  22.942  22.142  22.875  53782.64  46738.65  55576.11      2.39  \n",
       "2018-02-26  22.406  21.955  22.942  40827.52  42736.34  56007.50      1.53  \n",
       "2018-02-23  21.938  21.929  23.022  35119.58  41871.97  56372.85      1.32  \n",
       "2018-02-22  21.446  21.909  23.137  35397.58  39904.78  60149.60      0.90  \n",
       "2018-02-14  21.366  21.923  23.253  33590.21  42935.74  61716.11      0.58  "
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>abc_(-10.05, -3.343]</th>\n",
       "      <th>abc_(-3.343, 3.343]</th>\n",
       "      <th>abc_(3.343, 10.03]</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-26</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-23</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-22</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-14</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            abc_(-10.05, -3.343]  abc_(-3.343, 3.343]  abc_(3.343, 10.03]\n",
       "2018-02-27                     0                    1                   0\n",
       "2018-02-26                     0                    1                   0\n",
       "2018-02-23                     0                    1                   0\n",
       "2018-02-22                     0                    1                   0\n",
       "2018-02-14                     0                    1                   0"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "      <th>turnover</th>\n",
       "      <th>abc_(-10.05, -3.343]</th>\n",
       "      <th>abc_(-3.343, 3.343]</th>\n",
       "      <th>abc_(3.343, 10.03]</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>22.942</td>\n",
       "      <td>22.142</td>\n",
       "      <td>22.875</td>\n",
       "      <td>53782.64</td>\n",
       "      <td>46738.65</td>\n",
       "      <td>55576.11</td>\n",
       "      <td>2.39</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-26</th>\n",
       "      <td>22.80</td>\n",
       "      <td>23.78</td>\n",
       "      <td>23.53</td>\n",
       "      <td>22.80</td>\n",
       "      <td>60985.11</td>\n",
       "      <td>0.69</td>\n",
       "      <td>3.02</td>\n",
       "      <td>22.406</td>\n",
       "      <td>21.955</td>\n",
       "      <td>22.942</td>\n",
       "      <td>40827.52</td>\n",
       "      <td>42736.34</td>\n",
       "      <td>56007.50</td>\n",
       "      <td>1.53</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-23</th>\n",
       "      <td>22.88</td>\n",
       "      <td>23.37</td>\n",
       "      <td>22.82</td>\n",
       "      <td>22.71</td>\n",
       "      <td>52914.01</td>\n",
       "      <td>0.54</td>\n",
       "      <td>2.42</td>\n",
       "      <td>21.938</td>\n",
       "      <td>21.929</td>\n",
       "      <td>23.022</td>\n",
       "      <td>35119.58</td>\n",
       "      <td>41871.97</td>\n",
       "      <td>56372.85</td>\n",
       "      <td>1.32</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-22</th>\n",
       "      <td>22.25</td>\n",
       "      <td>22.76</td>\n",
       "      <td>22.28</td>\n",
       "      <td>22.02</td>\n",
       "      <td>36105.01</td>\n",
       "      <td>0.36</td>\n",
       "      <td>1.64</td>\n",
       "      <td>21.446</td>\n",
       "      <td>21.909</td>\n",
       "      <td>23.137</td>\n",
       "      <td>35397.58</td>\n",
       "      <td>39904.78</td>\n",
       "      <td>60149.60</td>\n",
       "      <td>0.90</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-14</th>\n",
       "      <td>21.49</td>\n",
       "      <td>21.99</td>\n",
       "      <td>21.92</td>\n",
       "      <td>21.48</td>\n",
       "      <td>23331.04</td>\n",
       "      <td>0.44</td>\n",
       "      <td>2.05</td>\n",
       "      <td>21.366</td>\n",
       "      <td>21.923</td>\n",
       "      <td>23.253</td>\n",
       "      <td>33590.21</td>\n",
       "      <td>42935.74</td>\n",
       "      <td>61716.11</td>\n",
       "      <td>0.58</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53  95578.03          0.63      2.68   \n",
       "2018-02-26  22.80  23.78  23.53  22.80  60985.11          0.69      3.02   \n",
       "2018-02-23  22.88  23.37  22.82  22.71  52914.01          0.54      2.42   \n",
       "2018-02-22  22.25  22.76  22.28  22.02  36105.01          0.36      1.64   \n",
       "2018-02-14  21.49  21.99  21.92  21.48  23331.04          0.44      2.05   \n",
       "\n",
       "               ma5    ma10    ma20     v_ma5    v_ma10    v_ma20  turnover  \\\n",
       "2018-02-27  22.942  22.142  22.875  53782.64  46738.65  55576.11      2.39   \n",
       "2018-02-26  22.406  21.955  22.942  40827.52  42736.34  56007.50      1.53   \n",
       "2018-02-23  21.938  21.929  23.022  35119.58  41871.97  56372.85      1.32   \n",
       "2018-02-22  21.446  21.909  23.137  35397.58  39904.78  60149.60      0.90   \n",
       "2018-02-14  21.366  21.923  23.253  33590.21  42935.74  61716.11      0.58   \n",
       "\n",
       "            abc_(-10.05, -3.343]  abc_(-3.343, 3.343]  abc_(3.343, 10.03]  \n",
       "2018-02-27                     0                    1                   0  \n",
       "2018-02-26                     0                    1                   0  \n",
       "2018-02-23                     0                    1                   0  \n",
       "2018-02-22                     0                    1                   0  \n",
       "2018-02-14                     0                    1                   0  "
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 把one_hot编码后的数据合并到数据集中\n",
    "pd.concat([data, res], axis=1).head() # 按列合并数据集"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## merge合并数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],\n",
    "                        'key2': ['K0', 'K1', 'K0', 'K1'],\n",
    "                        'A': ['A0', 'A1', 'A2', 'A3'],\n",
    "                        'B': ['B0', 'B1', 'B2', 'B3']})\n",
    "\n",
    "right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],\n",
    "                        'key2': ['K0', 'K0', 'K0', 'K0'],\n",
    "                        'C': ['C0', 'C1', 'C2', 'C3'],\n",
    "                        'D': ['D0', 'D1', 'D2', 'D3']})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>K0</td>\n",
       "      <td>K0</td>\n",
       "      <td>A0</td>\n",
       "      <td>B0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>K0</td>\n",
       "      <td>K1</td>\n",
       "      <td>A1</td>\n",
       "      <td>B1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>K1</td>\n",
       "      <td>K0</td>\n",
       "      <td>A2</td>\n",
       "      <td>B2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>K2</td>\n",
       "      <td>K1</td>\n",
       "      <td>A3</td>\n",
       "      <td>B3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  key1 key2   A   B\n",
       "0   K0   K0  A0  B0\n",
       "1   K0   K1  A1  B1\n",
       "2   K1   K0  A2  B2\n",
       "3   K2   K1  A3  B3"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "left"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>K0</td>\n",
       "      <td>K0</td>\n",
       "      <td>C0</td>\n",
       "      <td>D0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>K1</td>\n",
       "      <td>K0</td>\n",
       "      <td>C1</td>\n",
       "      <td>D1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>K1</td>\n",
       "      <td>K0</td>\n",
       "      <td>C2</td>\n",
       "      <td>D2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>K2</td>\n",
       "      <td>K0</td>\n",
       "      <td>C3</td>\n",
       "      <td>D3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  key1 key2   C   D\n",
       "0   K0   K0  C0  D0\n",
       "1   K1   K0  C1  D1\n",
       "2   K1   K0  C2  D2\n",
       "3   K2   K0  C3  D3"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "right"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>K0</td>\n",
       "      <td>K0</td>\n",
       "      <td>A0</td>\n",
       "      <td>B0</td>\n",
       "      <td>C0</td>\n",
       "      <td>D0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>K1</td>\n",
       "      <td>K0</td>\n",
       "      <td>A2</td>\n",
       "      <td>B2</td>\n",
       "      <td>C1</td>\n",
       "      <td>D1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>K1</td>\n",
       "      <td>K0</td>\n",
       "      <td>A2</td>\n",
       "      <td>B2</td>\n",
       "      <td>C2</td>\n",
       "      <td>D2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  key1 key2   A   B   C   D\n",
       "0   K0   K0  A0  B0  C0  D0\n",
       "1   K1   K0  A2  B2  C1  D1\n",
       "2   K1   K0  A2  B2  C2  D2"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# inner连接合并数据集 left:左数据集， right：右数据集， on：合并的共有字段， how：合并方式\n",
    "pd.merge(left=left, right=right, on=['key1', 'key2'], how='inner')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 交叉表和透视表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "      <th>turnover</th>\n",
       "      <th>week</th>\n",
       "      <th>rise</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>22.942</td>\n",
       "      <td>22.142</td>\n",
       "      <td>22.875</td>\n",
       "      <td>53782.64</td>\n",
       "      <td>46738.65</td>\n",
       "      <td>55576.11</td>\n",
       "      <td>2.39</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-26</th>\n",
       "      <td>22.80</td>\n",
       "      <td>23.78</td>\n",
       "      <td>23.53</td>\n",
       "      <td>22.80</td>\n",
       "      <td>60985.11</td>\n",
       "      <td>0.69</td>\n",
       "      <td>3.02</td>\n",
       "      <td>22.406</td>\n",
       "      <td>21.955</td>\n",
       "      <td>22.942</td>\n",
       "      <td>40827.52</td>\n",
       "      <td>42736.34</td>\n",
       "      <td>56007.50</td>\n",
       "      <td>1.53</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-23</th>\n",
       "      <td>22.88</td>\n",
       "      <td>23.37</td>\n",
       "      <td>22.82</td>\n",
       "      <td>22.71</td>\n",
       "      <td>52914.01</td>\n",
       "      <td>0.54</td>\n",
       "      <td>2.42</td>\n",
       "      <td>21.938</td>\n",
       "      <td>21.929</td>\n",
       "      <td>23.022</td>\n",
       "      <td>35119.58</td>\n",
       "      <td>41871.97</td>\n",
       "      <td>56372.85</td>\n",
       "      <td>1.32</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-22</th>\n",
       "      <td>22.25</td>\n",
       "      <td>22.76</td>\n",
       "      <td>22.28</td>\n",
       "      <td>22.02</td>\n",
       "      <td>36105.01</td>\n",
       "      <td>0.36</td>\n",
       "      <td>1.64</td>\n",
       "      <td>21.446</td>\n",
       "      <td>21.909</td>\n",
       "      <td>23.137</td>\n",
       "      <td>35397.58</td>\n",
       "      <td>39904.78</td>\n",
       "      <td>60149.60</td>\n",
       "      <td>0.90</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-14</th>\n",
       "      <td>21.49</td>\n",
       "      <td>21.99</td>\n",
       "      <td>21.92</td>\n",
       "      <td>21.48</td>\n",
       "      <td>23331.04</td>\n",
       "      <td>0.44</td>\n",
       "      <td>2.05</td>\n",
       "      <td>21.366</td>\n",
       "      <td>21.923</td>\n",
       "      <td>23.253</td>\n",
       "      <td>33590.21</td>\n",
       "      <td>42935.74</td>\n",
       "      <td>61716.11</td>\n",
       "      <td>0.58</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53  95578.03          0.63      2.68   \n",
       "2018-02-26  22.80  23.78  23.53  22.80  60985.11          0.69      3.02   \n",
       "2018-02-23  22.88  23.37  22.82  22.71  52914.01          0.54      2.42   \n",
       "2018-02-22  22.25  22.76  22.28  22.02  36105.01          0.36      1.64   \n",
       "2018-02-14  21.49  21.99  21.92  21.48  23331.04          0.44      2.05   \n",
       "\n",
       "               ma5    ma10    ma20     v_ma5    v_ma10    v_ma20  turnover  \\\n",
       "2018-02-27  22.942  22.142  22.875  53782.64  46738.65  55576.11      2.39   \n",
       "2018-02-26  22.406  21.955  22.942  40827.52  42736.34  56007.50      1.53   \n",
       "2018-02-23  21.938  21.929  23.022  35119.58  41871.97  56372.85      1.32   \n",
       "2018-02-22  21.446  21.909  23.137  35397.58  39904.78  60149.60      0.90   \n",
       "2018-02-14  21.366  21.923  23.253  33590.21  42935.74  61716.11      0.58   \n",
       "\n",
       "            week  rise  \n",
       "2018-02-27     1     1  \n",
       "2018-02-26     0     1  \n",
       "2018-02-23     4     1  \n",
       "2018-02-22     3     1  \n",
       "2018-02-14     2     1  "
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 探究股票的涨跌与星期几有关\n",
    "# 获取每一行是周几的数据，生成新的一列数据\n",
    "data['week'] = pd.to_datetime(data.index).weekday"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 创建涨跌特征列\n",
    "data['rise'] = np.where(data['p_change'] > 0, 1, 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>rise</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>week</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>63</td>\n",
       "      <td>62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>55</td>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>61</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>63</td>\n",
       "      <td>65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>59</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "rise   0   1\n",
       "week        \n",
       "0     63  62\n",
       "1     55  76\n",
       "2     61  71\n",
       "3     63  65\n",
       "4     59  68"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 建立交叉表  两列离散的数据\n",
    "temp = pd.crosstab(data['week'], data['rise'])\n",
    "temp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "week\n",
       "0    125\n",
       "1    131\n",
       "2    132\n",
       "3    128\n",
       "4    127\n",
       "dtype: int64"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 按行求和\n",
    "sum_day = temp.sum(1)\n",
    "sum_day"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>rise</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>week</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.504000</td>\n",
       "      <td>0.496000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.419847</td>\n",
       "      <td>0.580153</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.462121</td>\n",
       "      <td>0.537879</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.492188</td>\n",
       "      <td>0.507812</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.464567</td>\n",
       "      <td>0.535433</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "rise         0         1\n",
       "week                    \n",
       "0     0.504000  0.496000\n",
       "1     0.419847  0.580153\n",
       "2     0.462121  0.537879\n",
       "3     0.492188  0.507812\n",
       "4     0.464567  0.535433"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 计算上涨下跌的概率\n",
    "res = temp.div(sum_day, axis=0)\n",
    "res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制柱状图\n",
    "res.plot(kind='bar', stacked=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rise</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>week</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.496000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.580153</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.537879</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.507812</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.535433</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          rise\n",
       "week          \n",
       "0     0.496000\n",
       "1     0.580153\n",
       "2     0.537879\n",
       "3     0.507812\n",
       "4     0.535433"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用透视表计算涨跌概率   分组聚合\n",
    "pd.pivot_table(data=data, index='week', values='rise', aggfunc='mean')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "      <th>turnover</th>\n",
       "      <th>week</th>\n",
       "      <th>rise</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>22.942</td>\n",
       "      <td>22.142</td>\n",
       "      <td>22.875</td>\n",
       "      <td>53782.64</td>\n",
       "      <td>46738.65</td>\n",
       "      <td>55576.11</td>\n",
       "      <td>2.39</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-26</th>\n",
       "      <td>22.80</td>\n",
       "      <td>23.78</td>\n",
       "      <td>23.53</td>\n",
       "      <td>22.80</td>\n",
       "      <td>60985.11</td>\n",
       "      <td>0.69</td>\n",
       "      <td>3.02</td>\n",
       "      <td>22.406</td>\n",
       "      <td>21.955</td>\n",
       "      <td>22.942</td>\n",
       "      <td>40827.52</td>\n",
       "      <td>42736.34</td>\n",
       "      <td>56007.50</td>\n",
       "      <td>1.53</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-23</th>\n",
       "      <td>22.88</td>\n",
       "      <td>23.37</td>\n",
       "      <td>22.82</td>\n",
       "      <td>22.71</td>\n",
       "      <td>52914.01</td>\n",
       "      <td>0.54</td>\n",
       "      <td>2.42</td>\n",
       "      <td>21.938</td>\n",
       "      <td>21.929</td>\n",
       "      <td>23.022</td>\n",
       "      <td>35119.58</td>\n",
       "      <td>41871.97</td>\n",
       "      <td>56372.85</td>\n",
       "      <td>1.32</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-22</th>\n",
       "      <td>22.25</td>\n",
       "      <td>22.76</td>\n",
       "      <td>22.28</td>\n",
       "      <td>22.02</td>\n",
       "      <td>36105.01</td>\n",
       "      <td>0.36</td>\n",
       "      <td>1.64</td>\n",
       "      <td>21.446</td>\n",
       "      <td>21.909</td>\n",
       "      <td>23.137</td>\n",
       "      <td>35397.58</td>\n",
       "      <td>39904.78</td>\n",
       "      <td>60149.60</td>\n",
       "      <td>0.90</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-14</th>\n",
       "      <td>21.49</td>\n",
       "      <td>21.99</td>\n",
       "      <td>21.92</td>\n",
       "      <td>21.48</td>\n",
       "      <td>23331.04</td>\n",
       "      <td>0.44</td>\n",
       "      <td>2.05</td>\n",
       "      <td>21.366</td>\n",
       "      <td>21.923</td>\n",
       "      <td>23.253</td>\n",
       "      <td>33590.21</td>\n",
       "      <td>42935.74</td>\n",
       "      <td>61716.11</td>\n",
       "      <td>0.58</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53  95578.03          0.63      2.68   \n",
       "2018-02-26  22.80  23.78  23.53  22.80  60985.11          0.69      3.02   \n",
       "2018-02-23  22.88  23.37  22.82  22.71  52914.01          0.54      2.42   \n",
       "2018-02-22  22.25  22.76  22.28  22.02  36105.01          0.36      1.64   \n",
       "2018-02-14  21.49  21.99  21.92  21.48  23331.04          0.44      2.05   \n",
       "\n",
       "               ma5    ma10    ma20     v_ma5    v_ma10    v_ma20  turnover  \\\n",
       "2018-02-27  22.942  22.142  22.875  53782.64  46738.65  55576.11      2.39   \n",
       "2018-02-26  22.406  21.955  22.942  40827.52  42736.34  56007.50      1.53   \n",
       "2018-02-23  21.938  21.929  23.022  35119.58  41871.97  56372.85      1.32   \n",
       "2018-02-22  21.446  21.909  23.137  35397.58  39904.78  60149.60      0.90   \n",
       "2018-02-14  21.366  21.923  23.253  33590.21  42935.74  61716.11      0.58   \n",
       "\n",
       "            week  rise  \n",
       "2018-02-27     1     1  \n",
       "2018-02-26     0     1  \n",
       "2018-02-23     4     1  \n",
       "2018-02-22     3     1  \n",
       "2018-02-14     2     1  "
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分组与聚合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "col =pd.DataFrame({'color': ['white','red','green','red','green'], 'object': ['pen','pencil','pencil','ashtray','pen'],'price1':[5.56,4.20,1.30,0.56,2.75],'price2':[4.75,4.12,1.60,0.75,3.15]})\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>color</th>\n",
       "      <th>object</th>\n",
       "      <th>price1</th>\n",
       "      <th>price2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>white</td>\n",
       "      <td>pen</td>\n",
       "      <td>5.56</td>\n",
       "      <td>4.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>red</td>\n",
       "      <td>pencil</td>\n",
       "      <td>4.20</td>\n",
       "      <td>4.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>green</td>\n",
       "      <td>pencil</td>\n",
       "      <td>1.30</td>\n",
       "      <td>1.60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>red</td>\n",
       "      <td>ashtray</td>\n",
       "      <td>0.56</td>\n",
       "      <td>0.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>green</td>\n",
       "      <td>pen</td>\n",
       "      <td>2.75</td>\n",
       "      <td>3.15</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   color   object  price1  price2\n",
       "0  white      pen    5.56    4.75\n",
       "1    red   pencil    4.20    4.12\n",
       "2  green   pencil    1.30    1.60\n",
       "3    red  ashtray    0.56    0.75\n",
       "4  green      pen    2.75    3.15"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "col"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "color\n",
       "green    2\n",
       "red      2\n",
       "white    1\n",
       "Name: price1, dtype: int64"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 按照color进形分组, 再进行count聚合\n",
    "col.groupby('color')['price1'].count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "color\n",
       "green    2\n",
       "red      2\n",
       "white    1\n",
       "Name: price1, dtype: int64"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 第二种分组聚合的方式\n",
    "col['price1'].groupby(col['color']).count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 读取星巴克店铺数据\n",
    "data = pd.read_csv('./data/directory.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Brand</th>\n",
       "      <th>Store Number</th>\n",
       "      <th>Store Name</th>\n",
       "      <th>Ownership Type</th>\n",
       "      <th>Street Address</th>\n",
       "      <th>City</th>\n",
       "      <th>State/Province</th>\n",
       "      <th>Country</th>\n",
       "      <th>Postcode</th>\n",
       "      <th>Phone Number</th>\n",
       "      <th>Timezone</th>\n",
       "      <th>Longitude</th>\n",
       "      <th>Latitude</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Starbucks</td>\n",
       "      <td>47370-257954</td>\n",
       "      <td>Meritxell, 96</td>\n",
       "      <td>Licensed</td>\n",
       "      <td>Av. Meritxell, 96</td>\n",
       "      <td>Andorra la Vella</td>\n",
       "      <td>7</td>\n",
       "      <td>AD</td>\n",
       "      <td>AD500</td>\n",
       "      <td>376818720</td>\n",
       "      <td>GMT+1:00 Europe/Andorra</td>\n",
       "      <td>1.53</td>\n",
       "      <td>42.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Starbucks</td>\n",
       "      <td>22331-212325</td>\n",
       "      <td>Ajman Drive Thru</td>\n",
       "      <td>Licensed</td>\n",
       "      <td>1 Street 69, Al Jarf</td>\n",
       "      <td>Ajman</td>\n",
       "      <td>AJ</td>\n",
       "      <td>AE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>GMT+04:00 Asia/Dubai</td>\n",
       "      <td>55.47</td>\n",
       "      <td>25.42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Starbucks</td>\n",
       "      <td>47089-256771</td>\n",
       "      <td>Dana Mall</td>\n",
       "      <td>Licensed</td>\n",
       "      <td>Sheikh Khalifa Bin Zayed St.</td>\n",
       "      <td>Ajman</td>\n",
       "      <td>AJ</td>\n",
       "      <td>AE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>GMT+04:00 Asia/Dubai</td>\n",
       "      <td>55.47</td>\n",
       "      <td>25.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Starbucks</td>\n",
       "      <td>22126-218024</td>\n",
       "      <td>Twofour 54</td>\n",
       "      <td>Licensed</td>\n",
       "      <td>Al Salam Street</td>\n",
       "      <td>Abu Dhabi</td>\n",
       "      <td>AZ</td>\n",
       "      <td>AE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>GMT+04:00 Asia/Dubai</td>\n",
       "      <td>54.38</td>\n",
       "      <td>24.48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Starbucks</td>\n",
       "      <td>17127-178586</td>\n",
       "      <td>Al Ain Tower</td>\n",
       "      <td>Licensed</td>\n",
       "      <td>Khaldiya Area, Abu Dhabi Island</td>\n",
       "      <td>Abu Dhabi</td>\n",
       "      <td>AZ</td>\n",
       "      <td>AE</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>GMT+04:00 Asia/Dubai</td>\n",
       "      <td>54.54</td>\n",
       "      <td>24.51</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Brand  Store Number        Store Name Ownership Type  \\\n",
       "0  Starbucks  47370-257954     Meritxell, 96       Licensed   \n",
       "1  Starbucks  22331-212325  Ajman Drive Thru       Licensed   \n",
       "2  Starbucks  47089-256771         Dana Mall       Licensed   \n",
       "3  Starbucks  22126-218024        Twofour 54       Licensed   \n",
       "4  Starbucks  17127-178586      Al Ain Tower       Licensed   \n",
       "\n",
       "                    Street Address              City State/Province Country  \\\n",
       "0                Av. Meritxell, 96  Andorra la Vella              7      AD   \n",
       "1             1 Street 69, Al Jarf             Ajman             AJ      AE   \n",
       "2     Sheikh Khalifa Bin Zayed St.             Ajman             AJ      AE   \n",
       "3                  Al Salam Street         Abu Dhabi             AZ      AE   \n",
       "4  Khaldiya Area, Abu Dhabi Island         Abu Dhabi             AZ      AE   \n",
       "\n",
       "  Postcode Phone Number                 Timezone  Longitude  Latitude  \n",
       "0    AD500    376818720  GMT+1:00 Europe/Andorra       1.53     42.51  \n",
       "1      NaN          NaN     GMT+04:00 Asia/Dubai      55.47     25.42  \n",
       "2      NaN          NaN     GMT+04:00 Asia/Dubai      55.47     25.39  \n",
       "3      NaN          NaN     GMT+04:00 Asia/Dubai      54.38     24.48  \n",
       "4      NaN          NaN     GMT+04:00 Asia/Dubai      54.54     24.51  "
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 统计星巴克各个国家的店铺数量\n",
    "# 按照Country进行分组， 再按照count\n",
    "res = data.groupby('Country')['Brand'].count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制柱状图\n",
    "res.plot(kind='bar', figsize=(20, 8))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
