Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 子选择多索引数据帧以创建多个子集(使用字典)_Python_Pandas_Multi Index - Fatal编程技术网

Python 子选择多索引数据帧以创建多个子集(使用字典)

Python 子选择多索引数据帧以创建多个子集(使用字典),python,pandas,multi-index,Python,Pandas,Multi Index,我有一个类似于以下内容的数据集: 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

我有一个类似于以下内容的数据集:

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)
打印(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
如何创建多个
数据帧
,每个
作业id的值一个
?那些输入字典的内容能很容易检索吗?
谢谢

您可以将
groupby
对象解压缩到字典中:

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

谢谢那么,我如何使用字典选择数据呢?例如,您可以简单地编写dfs['job1']。