6

csv を pandas データフレームに読み込む方法に関する多くの情報がありますが、私が持っているのは pyTable テーブルであり、pandas DataFrame が必要です。

pandas DataFrameをpytablesに保存する方法を見つけました...次に、読み返したいと思います。この時点で次のようになります。

"kind = v._v_attrs.pandas_type"  

私はそれをcsvとして書き出して再読み込みすることができましたが、それはばかげているようです. それが今のところ私がしていることです。

pytableオブジェクトをパンダに読み込むにはどうすればよいですか?

4

2 に答える 2

7
import tables as pt
import pandas as pd
import numpy as np

# the content is junk but we don't care
grades = np.empty((10,2), dtype=(('name', 'S20'), ('grade', 'u2')))

# write to a PyTables table
handle = pt.openFile('/tmp/test_pandas.h5', 'w')
handle.createTable('/', 'grades', grades)
print handle.root.grades[:].dtype # it is a structured array

# load back as a DataFrame and check types
df = pd.DataFrame.from_records(handle.root.grades[:])
df.dtypes

u2 (符号なし 2 バイト整数) は i8 (整数 8 バイト) として終了し、文字列はオブジェクトになることに注意してください。これは、Pandas が Numpy 配列で使用できる dtype の全範囲をまだサポートしていないためです。

于 2012-10-17T08:53:09.860 に答える