我有一组从 SQL 数据库中获取并读入 pandas 数据框的数据。生成的 df 大约有 250M 行并且每天都在增长。因此,我想旋转表格以给我一个小得多的表格(几千行)。
该表看起来像这样,但要大得多:
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
我想通过忽略“类别”列并仅按日期和 item_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
现在想象一下,随着数据范围持续数月和数千个 item_id,这要大得多。我想选择 item_id = 2 和 report_date 在 '2013-06-01' 和 '2013-06-10' 或类似这些方面的总视图。
我已经连续搜索了几个小时,但我看不到如何在“行”(即 report_date 和 item_id)部分中选择和/或过滤掉值。我只能在“值”部分过滤/选择数据(例如:视图)。这个问题很相似,最后提问者评论了我问的同一个问题,但从未得到回答。我只是想尝试引起人们的注意。
从使用 python pandas 制作的数据透视表中过滤和选择
我感谢所有的帮助。这个网站和社区绝对是无价的。