2017-07-17 4 views
0

私はパンダを完全に理解できないかもしれませんが、index_colフラグが設定されたread_htmlを使用してデータフレームを変更してからto_htmlを再度使用しようとすると、Pandas - index_colを含むread_htmlは、to_htmlを実行するときに出力がありません

ここが私の言いたいことです。

   Avg  Min Max 
index        
build1 55.102323 37.101219 60.7 

私は、その後の小さなビットを持って次のようにこれは、データフレームを生成

dataFrameList = pd.read_html('empty.html', index_col=0) 
df = dataFrameList[0] 

次のように

<table border="1" class="dataframe"> 
    <thead> 
    <tr style="text-align: right;"> 
     <th>index</th> 
     <th>Avg</th> 
     <th>Min</th> 
     <th>Max</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td>build1</td> 
     <td>55.102323</td> 
     <td>37.101219</td> 
     <td>60.7</td> 
    </tr> 
    </tbody> 
</table> 

私はその後、read_htmlパンダを使用します。私は、このhtmlファイルを持っています次のようなテストコード:

df.drop(['build1'], inplace=True) 
df.loc['build2'] = [121212, 12443, 1290120] 
print(df.to_html()) 

私は以下の出力を得ます:

<table border="1" class="dataframe"> 
    <thead> 
    <tr style="text-align: right;"> 
     <th></th> 
     <th>Avg</th> 
     <th>Min</th> 
     <th>Max</th> 
    </tr> 
    <tr> 
     <th>index</th> 
     <th></th> 
     <th></th> 
     <th></th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <th>build2</th> 
     <td>121212.0</td> 
     <td>12443.0</td> 
     <td>1290120.0</td> 
    </tr> 
    </tbody> 
</table> 

どうしましたか?私はto_htmlフラグを設定しようとしました= Falseをオフにするが、これはビルド名(私が必要)を取り除く。

df.insert(0, 'index', df.index) 
print(df.to_html(index=False)) 

これはでその<th>を除いて(所望の出力を生成します。回避策はあり

<table border="1" class="dataframe"> 
    <thead> 
    <tr style="text-align: right;"> 
     <th>index</th> 
     <th>Avg</th> 
     <th>Min</th> 
     <th>Max</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <th>build2</th> 
     <td>121212.0</td> 
     <td>12443.0</td> 
     <td>1290120.0</td> 
    </tr> 
    </tbody> 
</table> 

答えて

0

次のように

私の所望の出力は、(ちょうどそれが明らかになるように)であります2番目の行は、私が推測すると、タイプミスですか?)。

+0

これはすばらしいことですが、説明を追加できる場合は非常に感謝します。 – Abdall

+1

'to_html'関数はテーブルのレンダリングに使用されます。 jupyterノートブックでテーブルを出力してみると、実際には2つのヘッダがあり、そのうちの1つはカラム用で、2つ目はインデックス用です(MultiIndexを持つことができます)。私が上でやっていることは、位置0にインデックスというインデックスを作成し、そこからインデックスにデータをコピーするという偽の列を作成することです。次に、実際のインデックスなしでhtmlに出力します。 – noisefield

+0

ええ、出力する表を見れば、上記の_text_の出力は同じです(行0の列、行1の索引のヘッダーとしての '索引'、行2の実際の索引行が始まります)。 –

関連する問題