数据分析

数据和信息

数据和信息,两个词词义很接近,但其实并不能等同。
数据是信息的载体,是对客观事物的符号表示,指能输入到计算机中并能被计算机接受处理的各种符号集合的统称。数据实际上不同于信息,至少在形式上不一样。

什么是数据分析

信息实际上是对数据集进行处理,从中提炼出可用于其他场合的结论,是对数据进行处理后的得到的结果。从原始数据中抽取信息的过程叫做数据分析。
常见的数据存储格式有:XML, JSON, XLS,CSV
数据分析常用到的统计技术有:贝叶斯方法、回归、聚类
数据分析领域最先进的工具之一是机器学习方法

数据分析的目的

抽取不易推断的信息,而一旦了解这些信息,就能够对产生数据的系统的运行机制进行研究,从而对系统可能的响应和演变做出预测。数据分析最初用于数据保护,现在已经发展为数据建模的方法论。

数据分析过程

问题定义、数据抽取、数据清洗、数据转换、数据探索、预测模型、模型评估/测试、结果可视化和阐释、解决方案部署。
数据分析过程
更简练的概括:获得或收集数据、解析和过滤数据、分析和提炼数据(数据清洗)、呈现和交互。

Numpy和Pandas

Numpy是Python进行科学计算,尤其是数据分析时,所用到的一个基础库。Numpy库的基础:Ndarray。Numpy数组的维数和元素数量由数组的型(shape)来决定,数组的型由N个正整数组成的元组来指定,元组的每个元素对应每一维的大小。数组的维统称为轴(axes),轴的数量被称作秩(rank)。
Pandas是一个专门用于数据分析的开源Python库 。pandas的核心为两大数据结构,分别是Series(一维)和DataFrance(多维)。pandas有各种灵活的函数可以进行统计、排序相关性和协方差的计算、处理NAN数据、登机索引和分级。pandas还有一组I/O API工具,可进行数据读写。

如何利用Pandas读取文件

下面是我在做过的项目中,具体运用到用panda读取excel文件的例子:
在这里插入图片描述
现已得到这样的一个excel表,存放的是招聘C语言开发工程师的岗位信息,表格中的数据均已清洗过,现在想读取表格中的数据到python,要怎么实现呢?我们这里以获取数据中出现的所有省份为例,统计出现的各省份名称及个数,代码很简单,如下:

# coding:utf-8
import pandas as pd

class ReadFile(object):
    def __init__(self):               # 构造方法
        pass

    def open_file(self, file_name):
        test_list = []                    # 新建立一个列表用于存放城市名称
        data = pd.read_excel(file_name, 'Sheet1')    # read_excel()可读取excel文件
        rows = data.shape[0]  # 获取行数,shape[1]获取列数
        for i in range(rows):
            test_data = str(data['省'][i]).strip()  #遍历每行列名为“省”的单元格的数据并去重
            if test_data not in test_list:       # 如果列表中还没有该省的名字,则添加该省
                test_list.append(test_data)
        print(test_list)                    # 输出城市列表
        print(len(test_list))              # 输出总长度(共有多少省份)


item = ReadFile()                       # 新建一个ReadFile类
item.open_file(r"D:\zh学习\软赛\清洗后的数据\C 1.xlsx")    # 调用open_file()方法,指定要读取的文件

运行结果如下:
D:\anaconda\python.exe “D:/Python workSpace/readFile.py”
[‘贵阳’, ‘呼和浩特’, ‘兰州’, ‘沈阳’, ‘包头’, ‘南京’, ‘成都’, ‘贵州省’, ‘黔东南’, ‘深圳’, ‘南宁’, ‘银川’, ‘上海’, ‘呼伦贝尔’, ‘北京’, ‘广州’, ‘甘肃省’, ‘遵义’, ‘珠海’, ‘佛山’, ‘中山’, ‘惠州’, ‘河源’, ‘江门’, ‘广东省’, ‘汕头’, ‘无锡’, ‘湛江’, ‘武汉’, ‘长沙’, ‘清远’, ‘杭州’, ‘肇庆’, ‘东莞’, ‘云浮’, ‘厦门’, ‘海口’, ‘揭阳’, ‘福州’, ‘青岛’, ‘济南’, ‘哈尔滨’, ‘淄博’, ‘漳州’, ‘山东省’, ‘长春’, ‘郑州’, ‘宁波’, ‘合肥’, ‘天津’, ‘浙江省’, ‘大连’, ‘芜湖’, ‘泉州’, ‘六安’, ‘南昌’, ‘黑龙江省’, ‘铜陵’, ‘三门峡’, ‘金华’, ‘烟台’, ‘上饶’, ‘萍乡’, ‘洛阳’, ‘马鞍山’, ‘桂林’, ‘宁德’, ‘柳州’, ‘贺州’, ‘景德镇’, ‘滁州’, ‘贵港’, ‘威海’, ‘鹰潭’, ‘潍坊’, ‘赣州’, ‘济宁’, ‘广西’, ‘三亚’, ‘昆明’, ‘枣庄’, ‘苏州’, ‘西安’, ‘湖州’, ‘南阳’, ‘台州’, ‘嘉兴’, ‘湖南省’, ‘安徽省’, ‘湘潭’, ‘龙岩’, ‘德州’, ‘岳阳’, ‘泰安’, ‘吉安’, ‘东营’, ‘廊坊’, ‘九江’, ‘淮北’, ‘宿州’, ‘临沂’, ‘莱芜’, ‘日照’, ‘徐州’, ‘抚州’, ‘常州’, ‘新余’, ‘义乌’, ‘福建省’, ‘株洲’, ‘南平’, ‘怀化’, ‘莆田’, ‘重庆’, ‘南通’, ‘襄阳’, ‘黄石’, ‘昆山’, ‘十堰’, ‘江苏省’, ‘鄂州’, ‘燕郊开发区’, ‘雄安新区’, ‘咸宁’, ‘邯郸’, ‘太仓’, ‘常熟’, ‘唐山’, ‘绵阳’, ‘湖北省’, ‘张家港’, ‘荆门’, ‘温州’, ‘淮安’, ‘石家庄’, ‘茂名’, ‘泰州’, ‘太原’, ‘梅州’, ‘宜昌’, ‘邢台’, ‘舟山’, ‘镇江’, ‘海宁’, ‘乌鲁木齐’]
145

Process finished with exit code 0

如何利用Pandas写入数据到新文件

那么,如果只是将数据整合后的结果在控制台输出,会对后续可视化操作带来不便,最好是可以将这新数据整合到一个新文件中。那么怎么写入数据到新的excel文件呢?下面我们统计一下各个地区(市)及出现的频数,并将其数据整合到新的表格文件testClassifyArea.xls中。

# coding:utf-8
import pandas as pd
import xlwt

city_list = []
province_list = []
everyCity_num=[]
rows = 0


class ClassifyArea(object):
    def __init__(self):
        pass

    def deal_file(self, xls_file):
        global city_list
        global province_list
        global rows
        global everyCity_num
        data = pd.read_excel(xls_file, 'Sheet1')
        rows = data.shape[0]  # 获取行数,shape[1]获取列数
        for i in range(rows):
            temp = str(data['省'][i]).strip()
            # 这里是原先的表格属性名称出了点问题,这一列的名称本来应该是“市”
            if temp is not '' and '省' not in temp and temp not in city_list:
                city_list.append(str(temp))
                everyCity_num.append(int(0))

        print(city_list)
        print(len(city_list))

        for j in range(rows):
            temp = str(data['省'][j]).strip()
            for k in range(len(city_list)):
                if str(temp) == str(city_list[k]):
                    everyCity_num[k] = everyCity_num[k] + 1

        print(everyCity_num)
        print(len(everyCity_num))

    def save_file(self):
        global city_list
        global province_list
        global everyCity_num
        f = xlwt.Workbook()  # 创建工作薄
        sheet1 = f.add_sheet(u'Sheet1', cell_overwrite_ok=True)  # 创建sheet

        # 在表格的第一行第一列和第二列分别写上标题“市”和“出现频数”
        sheet1.write(0, 0, '市' )
        sheet1.write(0, 1, '出现频数')

        # 在表格的第一列写入各个城市的名称
        n = 1
        for city in city_list:
            sheet1.write(n, 0, city)
            n = n + 1

        # 在表格的第二列统计并写入各个城市名称出现的频数
        p = 1
        for num in everyCity_num:
            sheet1.write(p, 1, num)
            p = p + 1

        f.save('testClassifyArea.xls ')  # 保存文件到testClassifyArea.xls


file = ClassifyArea()
file.deal_file(r"D:\zh学习\软赛\清洗后的数据\java 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\java 2.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\java 3.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\C 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\C 2.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\python 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\python 2.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\web 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\web 2.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\web 3.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\大数据 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\大数据 2.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\大数据 3.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\服务器 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\服务器 3.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\算法 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\算法 2.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\算法 3.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\算法 4.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\UI.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\软件测试 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\软件测试 2.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\软件测试 3.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\AI.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\iOS.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\Android 1.xlsx")
# file.deal_file(r"D:\zh学习\软赛\清洗后的数据\Android 2.xlsx")
# 当然是数据量越大,结果越精确,这里为了节省时间,只读入了一个数据文件
file.save_file()

运行结果如下:
D:\anaconda\python.exe “D:/Python workSpace/classifyArea.py”
[‘福州’, ‘济南’, ‘长春’, ‘哈尔滨’, ‘青岛’, ‘武汉’, ‘烟台’, ‘南京’, ‘潍坊’, ‘沈阳’, ‘北京’, ‘上海’, ‘泉州’, ‘威海’, ‘赣州’, ‘宁波’, ‘厦门’, ‘日照’, ‘天津’, ‘辽阳’, ‘重庆’, ‘三明’, ‘无锡’, ‘大连’, ‘海口’, ‘广州’, ‘东莞’, ‘德州’, ‘莆田’, ‘珠海’, ‘龙岩’, ‘郑州’, ‘合肥’, ‘长沙’, ‘昆明’, ‘苏州’, ‘菏泽’, ‘义乌’, ‘深圳’, ‘广西’, ‘南宁’, ‘南昌’, ‘铜陵’, ‘邵阳’, ‘三门峡’, ‘柳州’, ‘淄博’, ‘芜湖’, ‘佛山’, ‘西安’, ‘漳州’, ‘滁州’, ‘杭州’, ‘池州’, ‘石家庄’, ‘株洲’, ‘临沂’, ‘上饶’, ‘绍兴’, ‘白城’, ‘松原’, ‘六安’, ‘开封’, ‘洛阳’, ‘襄阳’, ‘荆州’, ‘宣城’, ‘南通’, ‘廊坊’, ‘桂林’, ‘抚州’, ‘保定’, ‘潜江’, ‘贵港’, ‘宁德’, ‘宜春’, ‘滨州’, ‘梧州’, ‘北海’, ‘济宁’, ‘东营’, ‘马鞍山’, ‘泰安’, ‘唐山’, ‘宜昌’, ‘台州’, ‘荆门’, ‘黄冈’, ‘九江’, ‘成都’, ‘温州’, ‘贺州’, ‘海宁’, ‘乐山’, ‘郴州’, ‘南阳’, ‘邯郸’, ‘秦皇岛’, ‘孝感’, ‘安阳’, ‘宝鸡’, ‘南充’, ‘靖江’, ‘常德’, ‘鹰潭’, ‘玉林’, ‘邢台’, ‘常州’, ‘丽水’, ‘商丘’, ‘吉安’, ‘景德镇’, ‘昆山’, ‘嘉兴’, ‘贵阳’, ‘衡阳’, ‘益阳’, ‘十堰’, ‘绵阳’, ‘徐州’, ‘银川’, ‘丹阳’, ‘许昌’, ‘张家口’, ‘燕郊开发区’, ‘舟山’, ‘新乡’, ‘阜阳’, ‘驻马店’, ‘黄石’, ‘呼和浩特’, ‘汉中’, ‘泰州’, ‘永州’, ‘蚌埠’, ‘湘潭’, ‘淮南’, ‘聊城’, ‘新余’, ‘安庆’, ‘沧州’, ‘怀化’, ‘信阳’, ‘湘西’, ‘咸宁’, ‘乌鲁木齐’, ‘衡水’, ‘淮北’, ‘周口’, ‘盐城’, ‘亳州’, ‘萍乡’, ‘枣庄’, ‘泸州’, ‘湖州’, ‘咸阳’, ‘焦作’, ‘三亚’, ‘济源’, ‘鄂州’, ‘濮阳’, ‘随州’, ‘张家港’, ‘镇江’, ‘鄂尔多斯’, ‘杨凌’, ‘连云港’, ‘拉萨’, ‘雄安新区’, ‘钦州’, ‘岳阳’, ‘莱芜’, ‘西宁’, ‘黄山’, ‘广元’, ‘鞍山’, ‘张家界’, ‘承德’, ‘平顶山’, ‘兰州’, ‘临汾’, ‘宿迁’, ‘攀枝花’, ‘眉山’, ‘遵义’, ‘金华’, ‘阳泉’]
187
[3005, 2352, 500, 379, 2064, 3556, 54, 3759, 39, 18, 266, 288, 83, 53, 36, 740, 580, 32, 730, 2, 1275, 11, 22, 53, 29, 95, 11, 12, 22, 4, 17, 1657, 2448, 3617, 57, 39, 7, 5, 110, 12, 307, 499, 9, 7, 97, 76, 25, 96, 7, 3016, 12, 15, 4215, 2, 588, 41, 27, 15, 11, 10, 2, 9, 8, 20, 49, 10, 20, 2, 28, 51, 6, 30, 3, 5, 9, 15, 5, 4, 6, 15, 6, 27, 19, 33, 38, 13, 7, 6, 7, 2763, 11, 3, 3, 1, 26, 11, 21, 12, 1, 3, 3, 1, 2, 9, 3, 6, 11, 18, 2, 4, 4, 1, 4, 16, 26, 8, 8, 4, 7, 1, 4, 2, 13, 12, 1, 2, 5, 6, 3, 16, 2, 2, 2, 4, 5, 13, 1, 6, 6, 3, 2, 14, 3, 1, 4, 7, 2, 1, 1, 2, 1, 1, 2, 14, 8, 17, 2, 2, 1, 5, 1, 1, 2, 8, 1, 1, 1, 2, 6, 2, 5, 2, 1, 1, 5, 1, 3, 2, 1, 3, 2, 1, 1, 1, 2, 1, 3]
187

Process finished with exit code 0

我们来看一下把所有数据都加进去最后得到的文件testClassifyArea.xls中的内容:
在这里插入图片描述

使用jieba提炼关键字词

jieba是优秀的中文分词第三方库,可以提供仲文分析技术,属于一种NLP(自然语言处理技术)。中文分词技术分为:规则分词、统计分词和很和分词。提供三种分词模式,可以利用一个中文词库,确定汉字之间的关联概率。汉字间概率大的组成词组,形成分词结果。除了分词,用户还可以添加自定义的词组。此外,还可以进行词云的制作。

jieba分词有三种模式

**精确模式:**把文本精确的切分开,不存在冗余单词
全模式:把文本中所有可能的词语都扫描出来,有冗余
**搜索引擎模式:**在精确模式基础上,对长词再次切分
在这里插入图片描述

textrank算法

textrank算法和pagerank算法思想相似,用TextRank提取来提取关键词,用PageRank的思想来解释它:
如果一个单词出现在很多单词后面的话,那么说明这个单词比较重要;一个TextRank值很高的单词后面跟着的一个单词,那么这个单词的TextRank值会相应地因此而提高。想深入了解的话可以看下这篇文章,那位博主介绍的很详细。
textrank算法详细介绍

除了textrank算法算法,还有很多关键词提取算法,例如TF/IDF、LSA/LSI/LDA、LSA/LSI、LDA等等。有兴趣的小伙伴可以查阅资料了解一下。
这里根据我做的实际项目介绍一下jieba简单的使用:

# coding:utf-8
import jieba.analyse
import pandas as pd
import xlwt
import re

key_dict = {}


class ExtractKeys(object):
    global key_dict

    def __init__(self):
        pass

    def analysis_data(self):
        content_list = []

        def open_file(xls_file):
            data = pd.read_excel(xls_file, 'Sheet1')
            rows = data.shape[0]  # 获取行数,shape[1]获取列数
            word_list = []
            for i in range(rows):
                career_data = str(data['招聘岗位'][i]).strip()
                ln = re.split(r'[((,\s]\s*', career_data)
                # 使用re和正则表达式对数据进行简单的清洗过滤
                # 适用于之前的数据清洗处理不彻底的情况
                word_list.append(str(ln[0]))
            content_list.append(''.join(word_list))
            print(len(content_list))

        def count_times(xls_file, k_list):
            data = pd.read_excel(xls_file, 'Sheet1')
            rows = data.shape[0]
            for k in k_list:
                for j in range(rows):
                    career_data = str(data['招聘岗位'][j]).strip()
                    if str(k) in career_data:
                        key_dict[k] = key_dict[k] + 1
            print(key_dict)

        open_file(r"D:\zh学习\软赛\清洗后的数据\java 1.xlsx")
        # open_file(r"D:\zh学习\软赛\清洗后的数据\java 2.xlsx")
               content = ''.join(content_list)
        print(len(content))
        keywords = jieba.analyse.textrank(content, topK=30, withWeight=False,
                                          allowPOS=('n', 'nz', 'nl', 'vn', 'v', 'x'))
# 利用textrank()算法对词性进行过滤芯筛选,选出前30个出现最多的词

        print(keywords)

        for item in keywords:
            key_dict[str(item)] = int(0)
        key_list = list(key_dict.keys())
        count_times(r"D:\zh学习\软赛\清洗后的数据\java 1.xlsx", key_list)
        # count_times(r"D:\zh学习\软赛\清洗后的数据\java 2.xlsx", key_list)

    def save_file(self, file_name):
        f = xlwt.Workbook()  # 创建工作薄
        sheet1 = f.add_sheet(u'Sheet1', cell_overwrite_ok=True)  # 创建sheet
        sheet1.write(0, 0, '关键字')
        sheet1.write(0, 1, '频数')
        key_list = list(key_dict.keys())
        times_list = list(key_dict.values())
        n = 1
        for key in key_list:
            sheet1.write(n, 0, key)
            n = n + 1
        m = 1
        for times in times_list:
            sheet1.write(m, 1, times)
            m = m + 1
        f.save(file_name)  # 保存文件


obj = ExtractKeys()
obj.analysis_data()
obj.save_file(r"testExtractKeys.xls ")

执行结果如下:
D:\anaconda\python.exe “D:/Python workSpace/extractKeys.py”
1
362040
Building prefix dict from the default dictionary …
Dumping model to file cache C:\Users\Administrator\AppData\Local\Temp\jieba.cache
Loading model cost 1.988 seconds.
Prefix dict has been built succesfully.
[‘工程师’, ‘开发’, ‘软件’, ‘数据’, ‘实习生’, ‘经理’, ‘测试’, ‘架构师’, ‘项目经理’, ‘软件测试’, ‘技术’, ‘运维’, ‘系统’, ‘实施’, ‘助理’, ‘算法’, ‘总监’, ‘讲师’, ‘资深’, ‘程序员’, ‘产品’, ‘项目’, ‘平台’, ‘技术支持’, ‘应用’, ‘主管’, ‘游戏’, ‘专员’, ‘实习’, ‘后台’]
{‘工程师’: 30918, ‘开发’: 23566, ‘软件’: 6740, ‘数据’: 2220, ‘实习生’: 1447, ‘经理’: 2178, ‘测试’: 1907, ‘架构师’: 1124, ‘项目经理’: 1052, ‘软件测试’: 849, ‘技术’: 1470, ‘运维’: 781, ‘系统’: 994, ‘实施’: 702, ‘助理’: 632, ‘算法’: 452, ‘总监’: 379, ‘讲师’: 438, ‘资深’: 422, ‘程序员’: 409, ‘产品’: 491, ‘项目’: 1409, ‘平台’: 372, ‘技术支持’: 262, ‘应用’: 378, ‘主管’: 293, ‘游戏’: 296, ‘专员’: 156, ‘实习’: 2109, ‘后台’: 267}

Process finished with exit code 0
我们最终把所有数据加进去,可以的得到如下表格:
在这里插入图片描述
附:jieba词性标注规范表
在这里插入图片描述
在这里插入图片描述

数据可视化

可视化系统是为确保人类在整个参与过程中的积极性而设计的。

数据可视化有多种方式,在我们本次项目中,我接触到了matplotlib,由于是初次使用,可视化的操作不够熟练,通过运用Tableau进行了辅助。其实还可以通过词云将数据分析的结果进行展示。

matplotlib的使用

matplotlib可以做2D、3D的图表。
matplotlib优点:
1、使用简单
2、渐进、交互的方式实现数据可视化
3、对图像元素控制力强
可输出PNG、PDF、SVG和EPS等多种方式
matplotlib架构分为三层
Scripting(脚本)层、Artisr(表现)层、Backend(后端)层
matplotlib是一个图形库,但它却以Numpy为基础。常见图表类型:线性图、直方图、条形图、水平条状图、多序列条状图
这我们做的项目中,用到了统计2019中国最热门的10大招聘城市,可以直观地将数据以柱状图形式展现。代码如下:

# coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

city_list = []     #城市名称的列表
count_list = []


class ShowData(object):
    def __init__(self):
        pass

    def open_file(self,xls_file):
        global city_list
        global count_list
        data = pd.read_excel(xls_file, 'Sheet1')
        # rows = data.shape[0]  # 获取行数,shape[1]获取列数
        for i in range(10):
            city = str(data['市'][i]).strip()
            count = int(str(data['出现频数'][i]).strip())
            if city is not '' and city not in city_list:
                city_list.append(str(city))
                count_list.append(count)
        print(city_list)
        print(len(city_list))
        print(count_list)
        print(len(count_list))

    def analysis_data(self):
        global city_list
        global count_list
        plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
        plt.rcParams['axes.unicode_minus'] = False
        # 中文乱码的处理
        plt.bar(range(10), count_list, align='center', color='steelblue', alpha=0.8)
        plt.plot(city_list,count_list, color='yellow')
        plt.xticks(rotation=45)
        plt.xlabel('Cities')
        # 绘图
        # 添加轴标签
        plt.ylabel('Position Count')
        # 添加标题
        plt.title(" Top10-Frequent City in China", fontsize=18)
        # 添加刻度标签
        plt.xticks(range(10), city_list)
        # 设置Y轴的刻度范围
        # plt.ylim([5500, 24000])

        # 为每个条形图添加数值标签
        for x, y in enumerate(count_list):
            plt.text(x, y + 100, '%s' % round(y, 1), ha='center')
        plt.show()   # 显示图形plt.show()


item = ShowData()
item.open_file(r"testClassifyArea.xls")
item.analysis_data()


运行后可得到下面的这张图:
在这里插入图片描述
当然,还可以对其他几个方面进行分析和可视化:
广州人数最多的前20所公司
在招聘信息中广州省出现次数最多的前20所公司
广州排名前20的公司的薪水情况统计

参考文献

《python数据分析实战》【意大利】 Fabio Nelli 著
《python数据可视化》 【印度】Kirthi Raman 著
《python自然语言处理实战》 涂铭 刘祥 刘树春 著

感谢浏览,欢迎和我交流对于python数据分析和可视化的更多见解,不足之处欢迎批评讨论。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐