2017-01-10 5 views
1

データフレームに格納された2つのテーブルを読み込みたいと思います。データフレームではないHDFStore出力

私は自分のコードの中にH5ファイルを読んでいる:

with pd.HDFStore(directory_path) as store: 
    self.df = store['/raw_ti4404'] 
    self.hr_df = store['/metric_heartrate'] 

self.dfは、データフレームとして格納されているが、self.hr_dfはシリーズとして格納されています。

私は同じ方法で両方を呼び出していますが、なぜデータフレームであり、もう1つはシリーズであるのか分かりません。データフレームとしてmetric_heartrateを格納する方法上の任意の助けをいただければ幸いです

enter image description here

:データが格納されてどのように何かあるかもしれません。

+1

はどのようにして 'metric_heartrate'を保存しなかった - あなたは、対応するコードをポストだろうか?まあ、 'self.hr_df = store ['/ metric_heartrate']。to_frame( 'column_name')' - それを修正する必要があります... – MaxU

+0

ありがとうございます。それはそれをはい固定 –

+1

それは喜びです。あなたは助けに多くの問題を抱えていた –

答えて

1

ほとんどの場合、metric_heartrateはシリーズとして保存されました。

デモ:

はサンプルDFを生成します。シリーズとして

In [123]: df = pd.DataFrame(np.random.rand(10, 3), columns=list('abc')) 

In [124]: df 
Out[124]: 
      a   b   c 
0 0.404338 0.010642 0.686192 
1 0.108319 0.962482 0.772487 
2 0.564785 0.456916 0.496818 
3 0.122507 0.653329 0.647296 
4 0.348033 0.925427 0.937080 
5 0.750008 0.301208 0.779692 
6 0.833262 0.448925 0.553434 
7 0.055830 0.267205 0.851582 
8 0.189788 0.087814 0.902296 
9 0.045610 0.738983 0.831780 

In [125]: store = pd.HDFStore('d:/temp/test.h5') 

レッツ・ストアaコラム:

In [126]: store.append('ser', df['a'], format='t') 

1列のみ含む、のデータフレームを保存してみましょう - a

In [127]: store.append('df', df[['a']], format='t') 
HDFStoreからデータを読み込む0

In [128]: store.select('ser') 
Out[128]: 
0 0.404338 
1 0.108319 
2 0.564785 
3 0.122507 
4 0.348033 
5 0.750008 
6 0.833262 
7 0.055830 
8 0.189788 
9 0.045610 
Name: a, dtype: float64 

In [129]: store.select('df') 
Out[129]: 
      a 
0 0.404338 
1 0.108319 
2 0.564785 
3 0.122507 
4 0.348033 
5 0.750008 
6 0.833262 
7 0.055830 
8 0.189788 
9 0.045610 

修正 - シリーズを読んで、DFに変換します

In [130]: store.select('ser').to_frame('a') 
Out[130]: 
      a 
0 0.404338 
1 0.108319 
2 0.564785 
3 0.122507 
4 0.348033 
5 0.750008 
6 0.833262 
7 0.055830 
8 0.189788 
9 0.045610 
関連する問題