2016-09-09 6 views
0

모든 인덱스 및 헤더 정보가 포함 된 subgroup 또는 데이터 세트 여부에 상관없이 팬더 DataFrame 객체를 기존 h5py 파일에 추가하려고합니다. 그게 가능하니? 다른 스크립트에서나중에 사용하기 위해 handpy 그룹에 pandas DataFrame 저장

import pandas as pd 
import h5py 
f = h5py.File('f.h5', 'r+') 
df = pd.DataFrame([[1,2,3],[4,5,6]], columns=['A', 'B', 'C'], index=['X', 'Y']) 
f['df'] = df 

, 내가 f.h5에 액세스하고 싶지만, f['df'][()]의 출력은 헤더 정보를 포함하지 않는 array([[1, 2, 3],[4, 5, 6]])이다 : 나는이 다음 시도했다.

답변

1

당신 수 당신이 h5py에 연결하지 않는 경우 팬더 pd.DataFrame.to_hdf()pd.read_hdf()를 사용해보십시오

문서 :

df = pd.DataFrame([[1,2,3],[4,5,6]], 
        columns=['A', 'B', 'C'], index=['X', 'Y']) 

df.to_hdf('f.h5', 'table',append=True) 

는 그런 다음에 의해 읽을 수 있습니다 http://pandas.pydata.org/pandas-docs/stable/io.html#io-hdf5

가 H5 파일에 기록하려면 :

df2 = pd.read_hdf('f.h5', 'table') 
print(df2) 

    A B C 
X 1 2 3 
Y 4 5 6 

그리고 추가 할 수도 있습니다.

df2.to_hdf('f.h5', 'table', append=True) 

pd.read_hdf('f.h5', 'table') 

    A B C 
X 1 2 3 
Y 4 5 6 
X 1 2 3 
Y 4 5 6 
관련 문제