使用python进行数据处理,可视化的基本操作流程

一、导入库

在python中,对于数据分析处理的部分,一般是用到numpy/pandas以及matplotlib部分,这三个库如果你是使用pycharm的话,还是需要去工具那边安装这些包,或者使用jupyter需要用到pip install命令来安装,安装好这些之后,就可以导入它们进行使用了。

下列代码是具体引用的例子,因为我们需要连接数据库获取其中的数据,所以我们导入了pymysql这个库:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']#设置中文字体为黑体
plt.rcParams['axes.unicode_minus'] = False #正常显示负号
import pymysql
import pandas as pd

二、数据库导入数据

1.打开mysql(没有用过mysql的同学可以自行百度安装),创建一个数据库(为了查询方便,我直接命为shop)

使用python进行数据处理,可视化的基本操作流程

2.在数据库中我们导入表(导入数据数据库有导入向导,按照它的提示一步步来,都不会有太大的问题)

导入成功后,我们在数据库中的表中查看shop表的数据,发现如下图所示:

使用python进行数据处理,可视化的基本操作流程

我们可以知道表中的数据被成功的导入了进来

三、连接数据库

数据导入成功之后,我们就可以进行python连接数据库的部分了:

mydb=pymysql.connect(
     host='localhost',
     user='root',
    database='shop',
     passwd='123456'
)
print(mydb)

这是一个最简单的连接数据库的操作,将信息正确的输入进去之后,就可以进行提取数据了

首先创建一个游标(不明白游标的同学可以自己百度一下,是数据库中非常常用一种操作,黄金矿工大家都玩过,就是类似于他的钩子,我们需要借助到钩子才可以挖到更多的黄金,就如同数据库中的数据一样)

cursor = mydb.cursor(pymysql.cursors.DictCursor)

接下来执行sql语句,然后将查询结果返回到result,最后在利用DataFrame将数据转化为此类型:

cursor=mydb.cursor(pymysql.cursors.DictCursor)
sql='''
select   *
from     shop
where    month(日期) in (6,7)
    '''

cursor.execute(sql)
result=cursor.fetchall()
shop=pd.DataFrame(result)

四、了解数据

查询到数据之后,我们就需要了解一下数据,知道大概是什么样子的,用info方法来了解数据框架,head方法了解详细数据:

shop.info()
shop.head()
shop.describe()

在数据中,我们会发现有一些空值,这时候需要用到fillna方法:

shop.fillna(0,inplace=True) #我们采用fillna进行0值填充

五、数据可视化

1.六七月份各平台的gmv占比:

#绘制出各平台在6、7月的GMV占比 (饼图)
pin_tai = shop[['平台','GMV']].groupby('平台').agg(GMV = ('GMV','sum'))
#我们按照平台进行分组,对GMV进行聚合
pin_tai = pd.Series(pin_tai.GMV,index=pin_tai.index)
#将DataFrame类型转换为Series类型
plt.pie(pin_tai,autopct='%2.1f%%',labels=['饿了么','美团'])
#调用pie方法,传入数据pin_tai;autopct:数据标签;%2.1f 输出宽度为2的浮点数,小数点宽度为1;labels 为标签

可以得到结果:

使用python进行数据处理,可视化的基本操作流程

2.六七月份各种的gmv情况:

#绘制出6-7月的GMV
shop.日期 = pd.to_datetime(shop.日期)
#先对日期格式转换为datetime64格式,方便我们对日期进行采样操作
shop['下单率'] = shop.下单人数/shop.进店人数
shop['进店率'] = shop.进店人数/shop.曝光人数
#分别创建字段:下单率&进店率
gmv_rates = shop.groupby(shop.日期).agg(GMV总合 = ('GMV','sum'),进店率 = ('进店率','sum'),下单率 = ('下单率','sum')).resample('1W').asfreq().dropna(how = 'any')
gmv_rates

可以得到结果:

使用python进行数据处理,可视化的基本操作流程

为了更直观的表现,我们采用条形图方法:

plt.bar(gmv_rates.index, gmv_rates.GMV总合, label = 'GMV')
#bar--条形图
#x横坐标为gmv_rates的索引,y纵坐标为gmv_rates的GMV总合
#label--标签名:GMV
plt.legend()
#显示标签
for a,b in zip(gmv_rates.index,gmv_rates.GMV总合):
    plt.text(a,b+0.1,'%.0f'%b,ha='center',va='bottom',fontsize=13)
plt.xticks(rotation=-15)

得到如下结果:

使用python进行数据处理,可视化的基本操作流程

3.六七月份各周转化率情况(之前定义了进店率和下单率,可以直接使用):

plt.plot(gmv_rates.index, gmv_rates.进店率,label = '进店率')
plt.plot(gmv_rates.index, gmv_rates.下单率,label = '下单率')
plt.legend()

for a,b in zip(gmv_rates.index, gmv_rates.进店率):
    plt.text(a,b+0.01,'%.2f'%b,ha='center',va='bottom',fontsize=13)
for a,b in zip(gmv_rates.index, gmv_rates.下单率):
    plt.text(a,b+0.01,'%.2f'%b,ha='center',va='bottom',fontsize=13)
plt.xticks(rotation=-15)

可以得到如下结果:

使用python进行数据处理,可视化的基本操作流程

以上就是利用python进行数据处理可视化的基础方法啦,这只是其中的一些,感谢b站up主戴师兄给我的启发。需要数据源的同学可以点击链接:

https://pan.baidu.com/s/1-jOwaXWArtv8h21B0-uWGg 提取码:wsra

如果觉得有帮助的同学可以点个赞哦!!

Original: https://blog.csdn.net/penyy111/article/details/120812216
Author: 依凯
Title: 使用python进行数据处理,可视化的基本操作流程

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

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

(0)

大家都在看

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