为了账号安全,请及时绑定邮箱和手机立即绑定

Python中List多条件分类计数

Python中List多条件分类计数

婷婷同学_ 2018-10-24 07:50:11
   list0 = [] # 0元以内     list1 = [] # 1元以内     list2 = [] # 2-5元     list3 = [] # 6-10元     list4 = [] # 10-100元     list5 = [] # 100元以上    for u in users_list:         if (u['balance']/100) <= 0:             list0.append(u)        if 0 < (u['balance']/100) <= 1:             list1.append(u)        if 2 < (u['balance']/100) <= 5:             list2.append(u)        if 6 < (u['balance']/100) <= 10:             list3.append(u)        if 10 < (u['balance']/100) <= 100:             list4.append(u)        if 100 < (u['balance']/100):             list5.append(u)    print(str(len(list0)),str(len(list1)),str(len(list2))....)有没有更好的方法在不创建空列表对其进行分类并统计每个条件的总数
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

用pandas的cut函数

举个例子:

import pandas as pd
import numpy as np

a = [-100, 100, 500, 1000, 9001, 10001]
bins = [-np.inf, 0, 1, 5, 10, 100, np.inf]

res = pd.Series(a).groupby(
        pd.cut(np.array(a)/100, 
               bins=bins,
               labels=[
                       '0元以内',
                       '1元以内',
                       '2-5元',
                       '6-10元',
                       '10-100元',
                       '100元以上'
                       ],
               )
        ).count()
print(res)

结果:

0元以内       1
1元以内       1
2-5元       1
6-10元      1
10-100元    1
100元以上     1
dtype: int64


查看完整回答
反对 回复 2018-10-24
  • 1 回答
  • 0 关注
  • 1241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信