SQL Server如何统计并分组非空字段 计算购买不同数量服务的客户数
按购买服务数量统计客户数的Python实现
我手上有一张数据表,每行对应一名用户,每列对应一项可供客户购买的服务,表内没有单独的标识列。我需要统计购买1项、2项及更多项服务的客户总量,统计时不区分具体购买的服务类型。
在Python中可以通过以下代码实现该需求:
result = services.count(axis=1).value_counts() result = pd.DataFrame(result, columns=['n_clients'])
其中services是读取对应业务数据csv文件得到的pandas DataFrame对象。
输出结果示例如下:
| 购买服务数量 | n_client |
|---|---|
| 1 | 928459 |
| 2 | 280235 |
| 3 | 53731 |
| 4 | 16042 |
补充示例
为了更清晰说明需求,以下是测试用的示例数据:
| product1 | product2 | product3 | product4 |
|---|---|---|---|
| True | |||
| True | True | True | |
| True | |||
| True | True | ||
| True | |||
| True | |||
| True | True |
上述示例对应的预期输出结果如下:
| 购买服务数量 | n_client |
|---|---|
| 1 | 4 |
| 2 | 2 |
| 3 | 1 |
| 4 | 0 |
内容的提问来源于stack exchange,提问作者Marcos Moreira Rodrigues Costa
相关产品推荐
相关产品推荐

