0

HTMLとして表示したいPandasシリーズ(単一のレコードに対応するより大きなDFのスライス)があります。Series を DataFrame に変換して.to_html()関数を使用することはできますが、これは 2 列の HTML 出力になります。スペースを節約し、アスペクト比を向上させるために、シリーズが 2 つまたは 3 つのインデックス値列のセットにラップされた 4 または 6 列の HTML テーブルを返したいと思います。

import pandas as pd
s = pd.Series( [12,34,56,78,54,77], index=['a', 'b', 'c', 'd', 'e','f'])
#pd.DataFrame(s).to_html()
#will yield 2 column hmtl-ed output 
# I would like a format like this:
a 12  d 78
b 34  e 54
c 56  f 77

これは私が現在持っているものです:

x = s.reshape((3,2))
y = s.index.reshape((3,2))
new = [ ]
for i in range(len(x)):
    new.append(y[i])
    new.append(x[i])
 z = pd.DataFrame(new)
 z.T.to_html(header=False, index=False)

私が見逃したかもしれないより良い方法はありますか?

ありがとうザックcp

4

1 に答える 1

1

これは簡単です。順序は少し異なります (下の列ではなく行全体を読む) が、それが問題になるかどうかはわかりません。

In [17]: DataFrame(np.array([s.index.values, s.values]).T.reshape(3, 4))
Out[17]: 
   0   1  2   3
0  a  12  b  34
1  c  56  d  78
2  e  54  f  77

あなたの例のように、HTML から「ヘッダー」とインデックスを省略する必要があります。

于 2013-05-24T17:06:00.393 に答える