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

人工智能240

一、导入库

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

这是连接到数据库的最简单操作。信息输入正确后,即可提取数据。

[En]

This is the simplest operation to connect to the database. After the information is entered correctly, the data can be extracted.

首先,创建一个游标(不懂游标的学生可以在自己的百度上做,数据库中不经常使用。每个人都玩过淘金者,这与他的钩子类似。我们需要钩子的帮助来挖掘更多的黄金,就像数据库中的数据一样。)

[En]

First of all, create a cursor (students who do not understand the cursor can do it on their own Baidu, which is not often used in the database. Everyone has played with gold miners, which is similar to his hook. We need the help of hooks to dig up more gold, just like the data in the database.)

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进行数据处理,可视化的基本操作流程

相关文章
IDEA 连接MySQL与使用方式 人工智能

IDEA 连接MySQL与使用方式

IDEA 连接MySQL方式 MySQL使用命令行的形式实在是有点难受,多行书写的时候要是写错了就比较难过了,因此还是需要一个图形化的操作界面。有很多可选择方式,由于之前就下载了IDEA,其中也继承了...
NLP——Tokenizer 人工智能

NLP——Tokenizer

1.什么是Tokenizer 使用文本的第一步就是将其拆分为单词。单词称为标记(token),将文本拆分为标记的过程称为标记化(tokenization),而标记化用到的模型或工具称为tokenize...