【Pandas】データフレームをHTML化(to_html)[Python]

  • URLをコピーしました!
目次

Pandas

前回、SQLite3のエスケープ処理で、特にダブルクォーテーション、シングルクォーテーションに関して解説しました。

今回はPandasのデータフレームをHTMLにする方法を紹介します。

例えばこんな感じで2列5行のデータフレームを作成したとします。

import pandas as pd
import random

x_val = []; y_val = []
for i in range(5):
    x_val.append(i)
    y_val.append(random.randrange(10))

df = pd.DataFrame()
df['x'] = x_val
df['y'] = y_val

print(df)

実行結果
   x  y
0  0  7
1  1  3
2  2  4
3  3  7
4  4  1

これをHTML化しましょうというのが今回のお話。

データフレームをHTML化:.to_html()

データフレームをHTMLにするには「.to_html(htmlファイルパス)」を用います。

import pandas as pd
import random

x_val = []; y_val = []
for i in range(5):
    x_val.append(i)
    y_val.append(random.randrange(10))

df = pd.DataFrame()
df['x'] = x_val
df['y'] = y_val

df.to_html('test1.html')

実行結果
x y
0 0 9
1 1 9
2 2 1
3 3 0
4 4 6

簡単にHTMLに変換できました。

列名を削除:header=False

オプションには色々あるのですが、使いそうなものを二つばかり紹介します。

その一つは列名の削除でオプションに「header=False」を追加します。

import pandas as pd
import random

x_val = []; y_val = []
for i in range(5):
    x_val.append(i)
    y_val.append(random.randrange(10))

df = pd.DataFrame()
df['x'] = x_val
df['y'] = y_val

df.to_html('test2.html', header=False)
0 0 5
1 1 4
2 2 0
3 3 5
4 4 1

行名を削除:index=False

もう一つは行名の削除で「index=False」をオプションに追加します。

import pandas as pd
import random

x_val = []; y_val = []
for i in range(5):
    x_val.append(i)
    y_val.append(random.randrange(10))

df = pd.DataFrame()
df['x'] = x_val
df['y'] = y_val

df.to_html('test3.html', index=False)

実行結果
x y
0 6
1 7
2 3
3 5
4 1

オプションには他にも色々あるので興味がある方は公式ページを覗いてみてください。

次回はdatetimeモジュールにおけるタイムゾーンの設定に関して色々と試していきます。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次