Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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,我有一个多索引的数据集,比如组(字符串)和日期(datetime64)。尝试使用切片来切片此数据集时 .xs(slice(startDate,endDate),level='Date',drop_level = False) 我原以为我会返回具有相同组的数据集,但没有超出开始/结束范围的日期 相反,我将一些组按开始/结束范围切片,一些组缺少条目,而另一些组似乎根本没有切片 例如: d={'group':['a','a','a','b','b','b','b','c','c','c','c','

我有一个多索引的数据集,比如组(字符串)和日期(datetime64)。尝试使用切片来切片此数据集时

.xs(slice(startDate,endDate),level='Date',drop_level = False)
我原以为我会返回具有相同组的数据集,但没有超出开始/结束范围的日期

相反,我将一些组按开始/结束范围切片,一些组缺少条目,而另一些组似乎根本没有切片

例如:

d={'group':['a','a','a','b','b','b','b','c','c','c','c','c','c','c','t','t','t','t','t','t','t','t','t','t','t','t','t','t'],
'date':[np.datetime64('2005-02-25'),np.datetime64('2005-02-25'),np.datetime64('2005-02-27'),
np.datetime64('2005-02-25'),np.datetime64('2005-02-26'),np.datetime64('2005-02-27'),np.datetime64('2005-02-26'),
np.datetime64('2005-01-25'),np.datetime64('2005-02-25'),np.datetime64('2005-03-27'),np.datetime64('2005-04-25'),np.datetime64('2005-05-26'),np.datetime64('2005-06-27'),np.datetime64('2005-07-26'),
np.datetime64('2005-01-25'),np.datetime64('2005-02-25'),np.datetime64('2005-03-27'),np.datetime64('2005-04-25'),np.datetime64('2005-05-26'),np.datetime64('2005-06-27'),np.datetime64('2005-07-26'),
np.datetime64('2005-02-25'),np.datetime64('2005-02-25'),np.datetime64('2005-02-27'),np.datetime64('2005-02-25'),np.datetime64('2005-02-26'),np.datetime64('2005-02-27'),np.datetime64('2005-02-26')],
'data':[1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7]}

df = pandas.DataFrame(d)
aggregate = df.groupby(('group','date')).sum()
aggregate
将产生

                  data
group date            
a     2005-02-25     3
      2005-02-27     3
b     2005-02-25     4
      2005-02-26    12
      2005-02-27     6
c     2005-01-25     1
      2005-02-25     2
      2005-03-27     3
      2005-04-25     4
      2005-05-26     5
      2005-06-27     6
      2005-07-26     7
t     2005-01-25     1
      2005-02-25     9
      2005-02-26    12
      2005-02-27     9
      2005-03-27     3
      2005-04-25     4
      2005-05-26     5
      2005-06-27     6
      2005-07-26     7

可能产生

                  data
group date            
a     2005-02-25     3
b     2005-02-25     4
      2005-02-26    12
c     2005-01-25     1
      2005-02-25     2
t     2005-01-25     1
      2005-02-25     9
      2005-02-26    12
      2005-02-27     9
      2005-03-27     3
      2005-04-25     4
      2005-05-26     5
      2005-06-27     6
      2005-07-26     7
(在任何人运行该代码段之前,它实际上完全按照预期工作,示例输出是说明性的)

我觉得我一定犯了一个显而易见的错误。
有人能解释一下为什么我在哪里使用了多索引切片错误吗?

请提供一个示例,说明您正在描述的行为,以及示例输入/输出。遗憾的是,它使用了大量受保护的数据,我无法重现示例输入的确切问题。我可以发布示例代码来显示我试图解决的问题,但它本身并没有重现问题。@root:添加了示例,虽然我注意到它没有重现问题,但只是对其进行了说明。请提供一个示例,显示您正在描述的行为,以及示例输入/输出。遗憾的是,它使用了大量受保护的数据,我还没能重现我在样本输入中遇到的确切问题。我可以发布示例代码来显示我试图解决的问题,但它本身并没有重现问题。@root:example已添加,尽管我注意到它没有重现问题,但只是演示了它。
                  data
group date            
a     2005-02-25     3
b     2005-02-25     4
      2005-02-26    12
c     2005-01-25     1
      2005-02-25     2
t     2005-01-25     1
      2005-02-25     9
      2005-02-26    12
      2005-02-27     9
      2005-03-27     3
      2005-04-25     4
      2005-05-26     5
      2005-06-27     6
      2005-07-26     7