2017-06-23 8 views
1

私は、次のようなデータセットを持っている:(辞書を使用して)複数のサブセットを作成するために、マルチインデックスパンダのデータフレームをサブ選択

df_lenght = 240 
df = pd.DataFrame(np.random.randn(df_lenght,2), columns=['a','b']) 
df['datetime'] = pd.date_range('23/06/2017', periods=df_lenght, freq='H') 
unique_jobs = ['job1','job2','job3',] 
job_id = [unique_jobs for i in range (1, int((df_lenght/len(unique_jobs))+1) ,1) ] 
df['job_id'] = sorted([val for sublist in job_id for val in sublist]) 
df.set_index(['job_id','datetime'], append=True, inplace=True) 

print(df[:5])リターン:

         a   b 
    job_id datetime        
0 job1 2017-06-23 00:00:00 -0.067011 -0.516382 
1 job1 2017-06-23 01:00:00 -0.174199 0.068693 
2 job1 2017-06-23 02:00:00 -1.227568 -0.103878 
3 job1 2017-06-23 03:00:00 -0.847565 -0.345161 
4 job1 2017-06-23 04:00:00 0.028852 3.111738 

どのようにすることができますがjob_idの値ごとに1つずつ、複数のdataframesを作成しますか?辞書に入れられた人は簡単に検索できますか? おかげ

答えて

1

あなたは辞書にgroupbyオブジェクトを解凍できます。

dfs = {job: df for job, df in df.groupby(level='job_id')} 
+0

感謝を。辞書を使用してデータを選択するにはどうすればいいですか? – Andreuccio

+1

たとえば、単にdfs ['job1']と書くことができます。 –

関連する問題