Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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_Indexing_Pandas_Dataframe - Fatal编程技术网

基于";“行”;在python中创建透视表后的数据

基于";“行”;在python中创建透视表后的数据,python,indexing,pandas,dataframe,Python,Indexing,Pandas,Dataframe,我有一组从SQL数据库获取的数据,并将其读入数据框。由此产生的df约为2.5亿行,每天都在增长。因此,我希望通过透视表来获得一个小得多的表(几千行) 这张桌子看起来像这样,但要大得多: data report_date item_id views category 0 2013-06-01 2 3 a 1 2013-06-01 2

我有一组从SQL数据库获取的数据,并将其读入数据框。由此产生的df约为2.5亿行,每天都在增长。因此,我希望通过透视表来获得一个小得多的表(几千行)

这张桌子看起来像这样,但要大得多:

data

  report_date             item_id        views   category
0  2013-06-01                   2            3          a
1  2013-06-01                   2            2          b
2  2013-06-01                   5           16          a 
3  2013-06-01                   2            4          c
4  2013-06-01                   2            5          d
我想通过忽略“category”列,只获取按日期和项目id显示的视图总数,从而使其更小

我正在这样做:

pivot = data.pivot_table(values=['views'], rows=['report_date','item_id'], aggfunc='sum')

                                 views  
report_date item_id
2013-06-01        2                 14           
2013-06-01        5                 16
现在想象一下,随着数据范围持续数月和数千个条目id,这会变得更大。我想选择“2013-06-01”和“2013-06-10”之间的项目(id=2)和报告(日期)的总视图,或者类似的内容

我已经连续搜索了几个小时,但我看不到如何选择和/或过滤我的“行”(即报告日期和项目id)部分中的值。我只能过滤/选择“值”部分(例如:视图)中的数据。这个问题是类似的,在最后提问者评论了我问的同一个问题,但从未得到回答。我只是想引起大家的注意


我感谢所有的帮助。这个网站和社区绝对是无价之宝

您应该能够像这样对其进行切片:

In [11]: pivot.ix[('2013-06-01', 3):('2013-06-01', 6)]
Out[11]:
                     views
report_date item_id
2013-06-01  5           16
请参阅。

尽管如此,在这个特定的示例中,is fishy仍在继续。。。