Skip to content

Instantly share code, notes, and snippets.

@kskkwn
Created April 19, 2017 13:32
Show Gist options
  • Save kskkwn/079dbc05b158d167635857ce457f7a9d to your computer and use it in GitHub Desktop.
Save kskkwn/079dbc05b158d167635857ce457f7a9d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# python によるSBMの実装がしたい"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>11213962</th>\n",
" <th>1603589724</th>\n",
" <th>68746721</th>\n",
" <th>267765193</th>\n",
" <th>10985942</th>\n",
" <th>14009672</th>\n",
" <th>167346791</th>\n",
" <th>2896013873</th>\n",
" <th>17364190</th>\n",
" <th>31442147</th>\n",
" <th>...</th>\n",
" <th>118320586</th>\n",
" <th>218493756</th>\n",
" <th>232520574</th>\n",
" <th>385409365</th>\n",
" <th>419425806</th>\n",
" <th>102227818</th>\n",
" <th>301210136</th>\n",
" <th>175163526</th>\n",
" <th>252996913</th>\n",
" <th>152543735</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</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",
" <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>91</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>92</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>93</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>94</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>100</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>101</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>102</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>103</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>104</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>105</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>106</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>107</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>108</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>111</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>112</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>113</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>114</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>115</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>116</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>117</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>118</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>119</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>120 rows × 120 columns</p>\n",
"</div>"
],
"text/plain": [
" 11213962 1603589724 68746721 267765193 10985942 14009672 167346791 \\\n",
"1 False False True False False False False \n",
"2 False False False False False False False \n",
"3 False False False False False True False \n",
"4 False False False False False False False \n",
"5 False False True False False True True \n",
"6 False False True False True False True \n",
"7 False False False False True True False \n",
"8 True True False False False False False \n",
"9 False False False False False False False \n",
"10 False True False False False False False \n",
"11 True False False False False False False \n",
"12 False True False False False False True \n",
"13 False False False False False False False \n",
"14 True False False False False False False \n",
"15 False False False False False False False \n",
"16 True False False False False False False \n",
"17 True True False False False False False \n",
"18 True False True False False True True \n",
"19 False False False False False False False \n",
"20 False False False False False False False \n",
"21 False True False False False False False \n",
"22 False False False False False False False \n",
"23 False False False False False False False \n",
"24 False False False False False False False \n",
"25 False False True False False False True \n",
"26 False False False False False False False \n",
"27 False False True False False False False \n",
"28 False True False False False False False \n",
"29 True False False False False False False \n",
"30 True True False False False False False \n",
".. ... ... ... ... ... ... ... \n",
"91 False False False False False False False \n",
"92 False False False False False False False \n",
"93 False False False False False False False \n",
"94 False False False False False False False \n",
"95 False False False False False False False \n",
"96 False False False False False False False \n",
"97 False False False False False False False \n",
"98 False False False False False False False \n",
"99 False False False False False False False \n",
"100 False False False False False False False \n",
"101 False False False False False False False \n",
"102 False False False False False False False \n",
"103 False False False False False False False \n",
"104 False False False False False False False \n",
"105 False False False False False False False \n",
"106 False False False False False False False \n",
"107 False False True False False False False \n",
"108 False False False False False False False \n",
"109 False False False False False False False \n",
"110 False False False False False False False \n",
"111 False False False False False False False \n",
"112 False False False False False False False \n",
"113 False False False False False False False \n",
"114 False False False False False False False \n",
"115 False False False False False False False \n",
"116 False False False False False False False \n",
"117 False False False False False False False \n",
"118 False False False False False False False \n",
"119 False False False False False False False \n",
"120 False False False False False False False \n",
"\n",
" 2896013873 17364190 31442147 ... 118320586 218493756 232520574 \\\n",
"1 True False True ... False False False \n",
"2 False False True ... False False False \n",
"3 False False False ... False False False \n",
"4 False False True ... False False False \n",
"5 False False False ... False False False \n",
"6 False False False ... False False False \n",
"7 False False False ... False False False \n",
"8 False False False ... False False False \n",
"9 False False False ... False False False \n",
"10 False False False ... False False False \n",
"11 False True False ... False False False \n",
"12 True False True ... False False False \n",
"13 False False False ... False False False \n",
"14 True False True ... False False False \n",
"15 False False False ... False False False \n",
"16 False False False ... False False False \n",
"17 True False True ... False False False \n",
"18 True False True ... False False False \n",
"19 True True True ... False False False \n",
"20 False False False ... False False False \n",
"21 False False False ... False False False \n",
"22 False False False ... False False False \n",
"23 False False False ... False False False \n",
"24 False True True ... False False False \n",
"25 False False False ... False False False \n",
"26 False False False ... False False False \n",
"27 False False True ... False False False \n",
"28 False False True ... False False False \n",
"29 True False False ... False False False \n",
"30 False False True ... False False False \n",
".. ... ... ... ... ... ... ... \n",
"91 False False False ... False False False \n",
"92 False False False ... False False False \n",
"93 False False False ... False True True \n",
"94 False False False ... False False False \n",
"95 False False False ... False False False \n",
"96 False False False ... False False False \n",
"97 False False False ... False False False \n",
"98 False False False ... False False False \n",
"99 False False False ... False False False \n",
"100 False False False ... False False False \n",
"101 True False False ... False False False \n",
"102 False False False ... False False False \n",
"103 False False False ... False False False \n",
"104 False False True ... False False False \n",
"105 False False False ... False False False \n",
"106 False False False ... False False False \n",
"107 False False False ... False False False \n",
"108 False False False ... False True False \n",
"109 False False False ... False False False \n",
"110 False False False ... False False False \n",
"111 False False False ... False False False \n",
"112 False False False ... True False True \n",
"113 False False False ... False True False \n",
"114 False False False ... False False False \n",
"115 False False False ... False True False \n",
"116 False False False ... True True True \n",
"117 False False False ... True True True \n",
"118 False False False ... True True True \n",
"119 False False False ... False True True \n",
"120 False False False ... False False False \n",
"\n",
" 385409365 419425806 102227818 301210136 175163526 252996913 152543735 \n",
"1 False False False False False False False \n",
"2 False False False False False False False \n",
"3 False False False False False False False \n",
"4 False False False False False False False \n",
"5 False False False False False False False \n",
"6 False False False False False False False \n",
"7 False False False False False False False \n",
"8 False False False False False False False \n",
"9 False False False False False False False \n",
"10 False False False False False False False \n",
"11 False False False False False False False \n",
"12 False False False False False False False \n",
"13 False False False False False False False \n",
"14 False False False False False False False \n",
"15 False False False False False False False \n",
"16 False False False False False False False \n",
"17 False False False False False False False \n",
"18 False False False False False False False \n",
"19 False False False False False False False \n",
"20 False False False False False False False \n",
"21 False False False False False False False \n",
"22 False False False False False False False \n",
"23 False False False False False False False \n",
"24 False False False False False False False \n",
"25 False False False False False False False \n",
"26 False False False False False False True \n",
"27 False False False False False False False \n",
"28 False False False False False False False \n",
"29 False False False False False False False \n",
"30 False False False False False False False \n",
".. ... ... ... ... ... ... ... \n",
"91 False False False False False False False \n",
"92 False False False False False False False \n",
"93 False False True True True True False \n",
"94 False False False False False False False \n",
"95 False False False False False False False \n",
"96 False False False False False False False \n",
"97 False False False False False False False \n",
"98 False False False False False False False \n",
"99 False False False False False False False \n",
"100 False False False False False False False \n",
"101 False False False False False False False \n",
"102 False False False False False False False \n",
"103 False False False False False False False \n",
"104 False False False False False False False \n",
"105 False False False False False False False \n",
"106 False False False False False False False \n",
"107 False False False False False False False \n",
"108 False False True True True True False \n",
"109 True False False False False False False \n",
"110 True False False False False False False \n",
"111 False False True True True False False \n",
"112 False True True True True True False \n",
"113 False False True True True True False \n",
"114 False False False False False False False \n",
"115 False False True True True True False \n",
"116 False False False True True True False \n",
"117 False True True False True True False \n",
"118 False True True True False True True \n",
"119 False True True True True False False \n",
"120 False False False False True False False \n",
"\n",
"[120 rows x 120 columns]"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"data = pd.read_csv(\"./combinationTable.csv\")\n",
"uname = data[:1].get_values()[0]\n",
"data.drop(0)"
]
},
{
"cell_type": "code",
"execution_count": 194,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n7OLaA1jCviD4lGao1BLaB4ATrnABABRTcAEAFFNwAQAUG77x6dqOPYdUuX2Hnrup65v7YOMRHpJ+\nLXPnfGrmce3tG9GxfUZ48Pd22FeHp/EpAMDAFFwAAMUUXAAAxRRcAADFjjY0f+xhwinbd2xh3i0w\n59u2hS9GAOsRmgcAGJiCCwCgmIILAKDY0Wa4llLdTHPJMZw3c3Nsp82dS/sF4HyR4QIAGJiCCwCg\nmIILAKCYggsAoNjFpRfYWntrkq9IcjnJv+6933+W5VUGk+cuu/J9S4b01567uduyz9z5PbQlj405\nljwODv2+uebO3VLH4tT1V557S67/mJpGH9O2sH2LXuFqrb0gyd/pvX9lkm9K8h+WXD4AwBYtfUvx\nHyb5r0nSe/+tJDe31v7awusAANiUpQuuZyT56BW/f3T3GgDAubVo49PW2juS/FTv/b273/9Xkrt6\n77+92EoAADZm6StcD+aJV7S+MMlDC68DAGBTli64fjbJnUnSWvt7SR7svX9i4XUAAGzK4s9SbK39\n+yT/IMlfJPmW3vv/XnQFAAAbs+rDqwEAzgOd5gEAiim4AACKLf5on6mWfgQQ+7XWvi/JrTnZ19+b\n5P4k9ya5ISffIH1l7/2x9UZ4nFprNyb5zSTfneSDMeelWmsvT/LtSS4leX2S34g5L9Nae2qSdye5\nOcnnJHlTkg/HnC+utfacJO9N8tbe+z2ttS/KnnnenQOvzUl++h299x9ZbdAbd5U5f2eSz07y6SSv\n6L3/0fXO+SpXuDwC6DBaay9M8pzdPH91kh9I8uYkb++935rkgSR3rTjEY/adST62+9mcF2qtPT3J\nG5J8VZKXJnlZzHm1b0zSe+8vzMk3038w5nxxrbWbkrwtJ/+n7XGfMc+7v3t9ktuT3Jbkda21px14\nuEfhKnP+PTkpqF6Q5CeTfNucOV/rlqJHAB3GLyT5ut3Pf5rkppwcGPftXntfTg4WFtRa+9IkX5bk\np3Yv3RZzXun2JB/ovX+i9/5Q7/2bY86r/UmSp+9+vnn3+20x50t7LMnX5KTH5eNuy2fO8/OS3N97\n/3jv/ZEkv5jk+Qcc5zHZN+evSfITu58/mpNj/7rnfK1bis9I8mtX/P74I4D+3zrDOU699z9P8qnd\nr9+U5KeTvOSKy/wPJ3nmGmM7cm9JcneSV+1+v8mcl3p2ks9trd2Xk//4vzHmvFTv/cdba9/YWnsg\nJ3P+tUnuM+fL6r1fSnKptXbly/uO7dOP1TP/M+2b8977p5KktXZDkm/JyVXG657zUULzF9YewDFr\nrb0sJwVuMJFXAAAB9UlEQVTX3af+ybwvrLX2DUl+uff+e1f5E3O+vAs5+X+c/zQnt7remSfOszlf\nWGvtFUn+oPf+JUlelOSeU39izg/javNs/he2K7buTfLzvfcP7vmTa875WgWXRwAdSGvtJUn+XZJ/\n3Hv/eJJP7gLdSfKsPPGyKWf3tUle1lr7lST/Msl3xZxX++Mkv9R7v9R7/90kn0jyCXNe6vlJfiZJ\nds2tvzDJp8z5Qez7PDn931Tzv7x3Jvmd3vubdr9f95yvVXB5BNABtNY+L8n3J3lp7/3xAPcHktyx\n+/mOJO9fY2zHqvf+9b335/bevyLJD+fkW4rmvNbPJnlRa+2zdgH6p8acV3sgJxmWtNa+OMknk/xc\nzPkh7Du2fzXJc1trn7/7Bunzk3xopfEdnd23Ef+s9/6GK16+7jlfrdO8RwDVa619c07yLL99xcuv\nykkh8JQkH0nyL3rvnz786I5fa+2NSX4/J1cC3h1zXqa19uqc3DZPTr5RdH/MeZndf2B+NMnfyEkW\n+LuS/FbM+aJaa1+ek0zos3PSjuAPk7w8yY/l1Dy31u5M8m9z0mrpbb33/7zGmLfuKnP+BUkezV/l\nzD/ce3/N9c65R/sAABQbJTQPAHC0FFwAAMUUXAAAxRRcAADFFFwAAMUUXAAAxRRcAADFFFwAAMX+\nP6PwzvIQulhOAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ff88e27a6d8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import pylab as plt\n",
"import seaborn\n",
"import numpy as np\n",
"\n",
"X = (data.get_values()[1:]==\"True\")\n",
"\n",
"def plot_matrix(matrix, clusters=None):\n",
" f, ax = plt.subplots(figsize=(10, 10))\n",
" plt.pcolor(matrix, cmap=plt.cm.Blues )\n",
" \n",
" if not clusters is None: \n",
" clusters_diff = np.r_[[0], np.diff(clusters)]\n",
"\n",
" for i,c in enumerate(clusters_diff):\n",
" if c==1:\n",
" ax.axhline(i, c=\"grey\") #, linewidth=1)\n",
" ax.axvline(i, c=\"grey\")#, linewidth=1)\n",
" plt.savefig(\"../../temp.svg\")\n",
" plt.show()\n",
" \n",
"plot_matrix(X)"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from itertools import product\n",
"from scipy.special import gamma\n",
"from scipy.special import loggamma\n",
"from numpy import exp"
]
},
{
"cell_type": "code",
"execution_count": 307,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0., 0., 1., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ..., \n",
" [ 0., 0., 0., ..., 0., 1., 1.],\n",
" [ 0., 0., 0., ..., 1., 0., 0.],\n",
" [ 0., 0., 0., ..., 1., 0., 0.]])"
]
},
"execution_count": 307,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X = X.astype(float)\n",
"X"
]
},
{
"cell_type": "code",
"execution_count": 308,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"nb_k = 10\n",
"α = 6\n",
"a0 = b0 = 0.5 # 調整したほうが良いかも \n",
"\n",
"N1, N2 = X.shape\n",
"z1 = np.zeros(N1)\n",
"z2 = np.zeros(N2)\n",
"\n",
"α1 = np.ones(nb_k) * α\n",
"α2 = np.ones(nb_k) * α\n",
"\n",
"z1 = np.zeros((N1, nb_k))\n",
"z1[:, 0] =1 \n",
"z2 = np.zeros((N2, nb_k))\n",
"z2[:, 0] = 1 \n",
"\n",
"# zはonehot"
]
},
{
"cell_type": "code",
"execution_count": 309,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def update_z1():\n",
" pass\n",
"\n",
"m = lambda z: z.sum(axis=0) #m_k = m[k]\n",
"m1 = m(z1)\n",
"m2 = m(z2) \n",
"\n",
"n_pos = np.einsum(\"ikjl, ij\", np.tensordot(z1, z2, axes=0), X)\n",
"n_neg = np.einsum(\"ikjl, ij\", np.tensordot(z1, z2, axes=0), 1-X)\n",
"# n_pos_kl = n_pos[k][l]"
]
},
{
"cell_type": "code",
"execution_count": 310,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# hatつきはi番目\n",
"m1_hat = lambda i: m1 - z1[i] #m1_hat_k = m1_hat[k]\n",
"m2_hat = lambda i: m2 - z2[i] \n",
"\n",
"n_pos_hat = lambda i: n_pos - np.einsum(\"kjl, j\", np.tensordot(z1, z2, axes=0)[i], X[i])\n",
"n_neg_hat = lambda i: n_neg - np.einsum(\"kjl, j\", np.tensordot(z1, z2, axes=0)[i], 1-X[i])\n",
"\n",
"α_1_hat = lambda i: α1 + m1_hat(i)\n",
"a_hat = lambda i: a0 + n_pos_hat(i)\n",
"b_hat = lambda i: b0 + n_neg_hat(i)"
]
},
{
"cell_type": "code",
"execution_count": 311,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"i = 0\n",
"a_hat_i = a_hat(i)\n",
"b_hat_i = b_hat(i)"
]
},
{
"cell_type": "code",
"execution_count": 315,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"p_z1_i_left = loggamma(a_hat_i + b_hat_i) -loggamma(a_hat_i) - loggamma(b_hat_i)\n",
"p_z1_i_right_upper = loggamma(a_hat_i + np.dot(X[i], z2)) + loggamma(b_hat_i + np.dot((1-X[i]) , z2))\n",
"p_z1_i_right_lower = loggamma(a_hat_i + b_hat_i + m2)\n",
"p_z1_i = α_1_hat(i) * exp(p_z1_i_left + p_z1_i_right_upper - p_z1_i_right_lower)"
]
},
{
"cell_type": "code",
"execution_count": 316,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 2.08219271e-41+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j],\n",
" [ 5.80025015e-32+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j, 6.00000000e+00+0.j, 6.00000000e+00+0.j,\n",
" 6.00000000e+00+0.j]])"
]
},
"execution_count": 316,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p_z1_i"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment