Python中List多条件分类计数

   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))....)

有没有更好的方法在不创建空列表对其进行分类并统计每个条件的总数


婷婷同学_
浏览 1242回答 1
1回答

波斯汪

用pandas的cut函数举个例子:import&nbsp;pandas&nbsp;as&nbsp;pd import&nbsp;numpy&nbsp;as&nbsp;np a&nbsp;=&nbsp;[-100,&nbsp;100,&nbsp;500,&nbsp;1000,&nbsp;9001,&nbsp;10001] bins&nbsp;=&nbsp;[-np.inf,&nbsp;0,&nbsp;1,&nbsp;5,&nbsp;10,&nbsp;100,&nbsp;np.inf] res&nbsp;=&nbsp;pd.Series(a).groupby( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pd.cut(np.array(a)/100,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bins=bins, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labels=[ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'0元以内', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'1元以内', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'2-5元', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'6-10元', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'10-100元', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'100元以上' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).count() print(res)结果:0元以内&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 1元以内&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 2-5元&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 6-10元&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 10-100元&nbsp;&nbsp;&nbsp;&nbsp;1 100元以上&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 dtype:&nbsp;int64
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python