python数据处理+matplotlib可视化(柱状图、折线图、表格)

本文介绍如何使用Python的pandas进行数据处理,结合matplotlib实现柱状图、折线图、表格及双y轴组合图的绘制,详细讲解了从数据读取到图表生成的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章涉及Python读取并处理Excel数据,pandas数据处理转化,matplotlib汇总柱状图、折线图,表格、双y轴柱状+折线图 。

一、首先导入相关的包

#导入相关的包
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import re
import matplotlib.pyplot as plt

1.1对matplotlib进行相关设置

#高清显示图片
%matplotlib inline
%config InlineBackend.figure_format = 'retina'

#显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
#正常显示负号
plt.rcParams['axes.unicode_minus'] = False

二、定义文件路径并获取数据

#日期集合
riqi = ['02.**','02.**','02.**','02.**','02.**']
#文件路径
path = 'C:/Users/chen/Downloads/' + riqi[i]+'日外呼.xls'
#获取数据
data = pd.read_excel(path,1)#读取Excel文件第二个工作表的内容,CSV文件读取用pd.read_csv(path)
#展示数据
display(data.head(5),data.tail(5))#展示前5行,展示后5行
#查看数据分布情况
#data.info()#查看数据类型/n#data.duplicated().sum()#查看非空、重复值情况
#查看数据是否有异常值
#data.describe()#描述性统计

2.1对数据进行转化(由于数据转化后续也会用到所以定义一个函数)

#定义数据处理函数
def sjchuli(data)
    #处理模板名称
    ccmc = ['a话术','abcde','bcft']#原始需处理的名称
    ccmc1 = ['a','ab','bc']#需要的替换后的名称
    l = len(ccmc)#获取需处理的数量
    hs = data['模板名称']#存储需处理的数据
    #循环处理模板名称
    for i in hs.index:
        n = str(hs[i])
        for m in range(0,l):
            ret = re.findall(".*" + ccmc[m]+ ".*",n)
            #display(n,ret)
            #判断是否需进行处理
            if len(ret) > 0:
                hs[i] = n.replace(ccmc[m],ccmc1[m])
                break
            #display(hs1[i],m,ccmc1[m],ccmc[m])
    hs = pd.DataFrame(hs)#将数据转化格式
    #display(hs)
    data['模板名称'] = hs#将处理后的数据赋值替换
    #处理模板名称,提取中间或者前面的话术
    #示例: 模板名称:张三_话费券活动_a分行  转化为话术名称: 话费券活动
    mbname = data['模板名称'].str.split('_',expand = True) #对模板名称拆分并存储
    #循环判断并获取需要的话术名称
    huashu = []#定义话术存储变量
    for i in mbname.index:
        n1 = str(mbname.loc[i][0])#获取列1
        n2 = str(mbname.loc[i][1])#获取列2
        if len(n1) >5:
            huashu.append(n1)
        else:
            huashu.append(n2)
    #display(huashu)
    huashu = pd.DataFrame(huashu)#数据类型转化
    #插入话术列
    data['话术'] = huashu
    #处理分行名称
    #删除前缀‘a’
    data['组织'] = data['组织'].str.strip("a")
    #删除后缀‘b’
    data['组织'] = data['组织'].str.strip("b")
    #display(data)
    return data

三、处理分行数据并画图

3.1处理分行数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值