Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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_Python 3.x - Fatal编程技术网

Python 通过唯一标识符对范围内的事务进行计数的最有效方法

Python 通过唯一标识符对范围内的事务进行计数的最有效方法,python,python-3.x,Python,Python 3.x,试图确定按项目标识符对范围内的事务进行计数的最佳方法。下面是一个示例csv数据集 Customer A,$1.55 ,12:01 Customer B,$12.95 ,12:02 Customer A,$28.77 ,12:03 Customer C,$35.65 ,12:04 Customer A,$11.95 ,12:05 Customer C,$7.65 ,12:06 Customer B,$55.96 ,12:07 Customer C,$44.25 ,12:08 如果每秒发生数千笔交

试图确定按项目标识符对范围内的事务进行计数的最佳方法。下面是一个示例csv数据集

Customer A,$1.55 ,12:01
Customer B,$12.95 ,12:02
Customer A,$28.77 ,12:03
Customer C,$35.65 ,12:04
Customer A,$11.95 ,12:05
Customer C,$7.65 ,12:06
Customer B,$55.96 ,12:07
Customer C,$44.25 ,12:08
如果每秒发生数千笔交易,我想知道某个范围内每个客户的交易数量,比如0-10美元、11-20美元、21-30美元、31-40美元等等,那么最有效的方法是什么

如果我用python制作子列表,就像

客户A=[$1、$5、$12、$25、$18、$11]

然后,我可以很容易地使用某种计数函数,如:

def count_range_in_list(li, min, max):
        ctr = 0
        for x in li:
            if min <= x <= max:
                ctr += 1
        return ctr

print(count_range_in_list(Customer A, 0, 10))
[来源:https://www.w3resource.com/python-exercises/list/python-data-type-list-exercise-31.php ]

只是在努力寻找一种从大型数据集执行此操作的有效方法。因为我了解我的客户,所以我可以在事务数据和该列表之间进行比较,并尝试以这种方式解析它,然后按范围进行计数


任何关于开始的帮助都很好。谢谢。

听起来像是在一个表上进行聚合,这个表有两个选项。如果您可以不使用数据帧,那么操作将是最简单的,但肯定不是最有效的

您还可以使用装箱方法

如果SQL是一个选项,它将使操作更加简单和高效

例如:

以客户为例 选择* ,如果数量<10,1,0为类别1 ,如果数量大于10且数量小于20,则1,0为类别2 来自客户交易 其中customer='customer A' 选择客户 ,sumcat_1作为cat_1计数 ,sumcat_2作为cat_2计数 来自客户 按1分组
您是否考虑过使用字典来存储客户的值,而不是将每个值分配给它自己的变量?我当然可以这样做,但我仍然认为我的问题在于,我必须找到一种有效的方法来计算所需范围内的事务数。在这里使用多索引数据帧应该很好。客户为第一指数,价格范围为columns@VisheshMangia我现在正在回顾这一点,它看起来很有希望。谢谢你的建议,我不是熊猫的普通用户,因此,如果没有一点实践,我真的帮不上忙,但如果能找到相关的答案,那可能是个好主意,因为我认为这些文档在多索引部分并不友好