列数据种类数量统计

列数据种类数量统计

主要基于pandas的unique函数
这个函数是为了方便分析数据的时候写出来的一个想法(大佬轻喷)

数量统计函数的代码
def Catg_stati(array):
    array_type = list(array.unique())
    array_list = list(array)
    array_num = []

    for i in range(len(array_type)):
        array_num.append(0)

    for i in array_list:
        for j in array_type:
            if i==j:
                array_num[array_type.index(j)]+=1

    for i in range(len(array_type)):
        for j in range(i,len(array_type)):
            if array_num[i] < array_num[j]:
                array_num[i],array_num[j]=array_num[j],array_num[i]
                array_type[i],array_type[j]=array_type[j],array_type[i]

    for i in range(len(array_type)):
        print(array_type[i],":",array_num[i])
    print(array_type)
    print(array_num)
现在让我们拿一个样例来测试一下

列数据种类数量统计
; 读取数据

import pandas as pd
data = pd.read_csv('scsdsjzx_fjfqxx_13473782712551364419.csv',encoding="gbk")
data.head(1)

发布时间市(州)县(市、区)风险级别更新时间02020年2月28日成都市青羊区、成华区、龙泉驿区、青白江区、蒲江县、新津县、都江堰市、彭州市、崇州市、双流区低风险03:57.0

选两个较有意义的数据列保存
city = data["市(州)"]
level = data["风险级别"]

data.loc[:,"city_level"] = city + level
引入统计数量的函数
def Catg_stati(array):
    array_type = list(array.unique())
    array_list = list(array)
    array_num = []

    for i in range(len(array_type)):
        array_num.append(0)

    for i in array_list:
        for j in array_type:
            if i==j:
                array_num[array_type.index(j)]+=1

    for i in range(len(array_type)):
        for j in range(i,len(array_type)):
            if array_num[i] < array_num[j]:
                array_num[i],array_num[j]=array_num[j],array_num[i]
                array_type[i],array_type[j]=array_type[j],array_type[i]

    for i in range(len(array_type)):
        print(array_type[i],":",array_num[i])
调用
Catg_stati( city )

运行结果:
甘孜藏族自治州 : 252
成都市 : 248
绵阳市 : 245
广元市 : 245
遂宁市 : 245
内江市 : 245
眉山市 : 245
宜宾市 : 245
广安市 : 245
达州市 : 245
雅安市 : 245
巴中市 : 245
资阳市 : 245
德阳市 : 245
凉山彝族自治州 : 245
泸州市 : 244
自贡市 : 242
乐山市 : 239
攀枝花市 : 237
南充市 : 237
低风险 : 236
阿坝藏族羌族自治州 : 233

Catg_stati( level )

运行结果:
低风险 : 4565
中风险 : 309
高风险 : 7
nan : 0

Catg_stati( data["city_level"] )

运行结果:
成都市低风险 : 229
自贡市低风险 : 229
攀枝花市低风险 : 229
泸州市低风险 : 229
德阳市低风险 : 229
绵阳市低风险 : 229
广元市低风险 : 229
遂宁市低风险 : 229
内江市低风险 : 229
乐山市低风险 : 229
眉山市低风险 : 229
宜宾市低风险 : 229
广安市低风险 : 229
达州市低风险 : 229
雅安市低风险 : 229
巴中市低风险 : 229
资阳市低风险 : 229
阿坝藏族羌族自治州低风险 : 229
凉山彝族自治州低风险 : 222
南充市低风险 : 221
成都市中风险 : 19
广元市中风险 : 16
遂宁市中风险 : 16
内江市中风险 : 16
南充市中风险 : 16
眉山市中风险 : 16
宜宾市中风险 : 16
广安市中风险 : 16
达州市中风险 : 16
雅安市中风险 : 16
巴中市中风险 : 16
资阳市中风险 : 16
甘孜藏族自治州中风险 : 16
凉山彝族自治州中风险 : 16
德阳市中风险 : 16
绵阳市中风险 : 16
泸州市中风险 : 15
自贡市中风险 : 13
乐山市中风险 : 10
攀枝花市中风险 : 8
甘孜藏族自治州高风险 : 7
阿坝藏族羌族自治州中风险 : 4
nan : 0

主要思路

函数的主要是通过pandas的unique函数把一个列的数据保存到一个列表里,然后再通过与原数据列的对比,统计每个类型数据的个数

Original: https://blog.csdn.net/wutong1357924680/article/details/112788924
Author: wutong1357924680
Title: 列数据种类数量统计

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/755210/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球