pandas.to_htmlでの幅の個別指定

# 1.はじめに
pandasのto_htmlで、indexに対応する列の幅と、それ以外の幅の指定で結構試行錯誤したので参考に。
最終的に

```python
 d1 = dict(selector=".blank", props=[
              ('min-width', '100px')])  # index
 d2 = dict(selector=".col_heading",
              props=[('width', '650px')])  # col
dataframe.style.set_table_styles(
        [d1, d2, d3]).to_html("output.html")

```

とすればOKと分かった。


# 2.html関係

上記を実行してoutput.htmlを調べると、styleのセクションはこんな形に生成される。

```html
<style type="text/css">
#T_8e7d2_ .blank {
  min-width: 100px;
}
#T_8e7d2_ .col_heading {
  width: 650px;
}
#T_8e7d2_ .col_heading {
  max-width: 650px;
}
</style>
```

この「blank」や「col_heading」はそれぞれ下記のtableの中のthの中のクラスに対応している。
ここのスタイルをできる。

```html
<table id="T_8e7d2_">
  <thead>
    <tr>
      <th class="blank level0">&nbsp;</th>   //ここ
      <th class="col_heading level0 col0">-</th>  //ここ
      <th class="col_heading level0 col1">--</th>  //ここ
    </tr>
  </thead>
  <tbody>
    <tr>
      <th id="T_8e7d2_level0_row0" class="row_heading level0 row0">-</th>
      <td id="T_8e7d2_row0_col0" class="data row0 col0">-</td>
      <td id="T_8e7d2_row0_col1" class="data row0 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row1" class="row_heading level0 row1">-</th>
      <td id="T_8e7d2_row1_col0" class="data row1 col0">-</td>
      <td id="T_8e7d2_row1_col1" class="data row1 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row2" class="row_heading level0 row2">-</th>
      <td id="T_8e7d2_row2_col0" class="data row2 col0">-</td>
      <td id="T_8e7d2_row2_col1" class="data row2 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row3" class="row_heading level0 row3">-</th>
      <td id="T_8e7d2_row3_col0" class="data row3 col0">-</td>
      <td id="T_8e7d2_row3_col1" class="data row3 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row4" class="row_heading level0 row4">-</th>
      <td id="T_8e7d2_row4_col0" class="data row4 col0">-</td>
      <td id="T_8e7d2_row4_col1" class="data row4 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row5" class="row_heading level0 row5">-</th>
      <td id="T_8e7d2_row5_col0" class="data row5 col0">-</td>
      <td id="T_8e7d2_row5_col1" class="data row5 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row6" class="row_heading level0 row6">-</th>
      <td id="T_8e7d2_row6_col0" class="data row6 col0">-</td>
      <td id="T_8e7d2_row6_col1" class="data row6 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row7" class="row_heading level0 row7">-</th>
      <td id="T_8e7d2_row7_col0" class="data row7 col0">-</td>
      <td id="T_8e7d2_row7_col1" class="data row7 col1">-</td>
    </tr>
    <tr>
      <th id="T_8e7d2_level0_row8" class="row_heading level0 row8">-</th>
      <td id="T_8e7d2_row8_col0" class="data row8 col0"></td>
      <td id="T_8e7d2_row8_col1" class="data row8 col1">-</td>
    </tr>
  </tbody>
</table>
```

pandas.to_htmlのデフォルトでblank　や　col_heading　があるので、そのまま使える（はず）。
d1,d2,d3・・・と指定を増やせば色々スタイルを指定できる。

```python
dict(selector=".blank", props=[
              ('min-width', '100px')])
```

を

```python
dict(selector=".blank", props=[
              ('min-width', '100px'),(...),(...)])

```

で１個にしても動いたので、いいかもしれない。