一、导入库
在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)
2.在数据库中我们导入表(导入数据数据库有导入向导,按照它的提示一步步来,都不会有太大的问题)
导入成功后,我们在数据库中的表中查看shop表的数据,发现如下图所示:
我们可以知道表中的数据被成功的导入了进来
三、连接数据库
数据导入成功之后,我们就可以进行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 为标签
可以得到结果:
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
可以得到结果:
为了更直观的表现,我们采用条形图方法:
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)
得到如下结果:
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进行数据处理可视化的基础方法啦,这只是其中的一些,感谢b站up主戴师兄给我的启发。需要数据源的同学可以点击链接:
https://pan.baidu.com/s/1-jOwaXWArtv8h21B0-uWGg 提取码:wsra
如果觉得有帮助的同学可以点个赞哦!!
Original: https://blog.csdn.net/penyy111/article/details/120812216
Author: 依凯
Title: 使用python进行数据处理,可视化的基本操作流程

win10跑深度学习程序无法调用gpu的问题(已解决)

Cannot convert a symbolic Tensor (bidirectional/forward_lstm/strided_slice:0

【论文阅读】CLIP:Learning Transferable Visual Models From Natural Language Supervision —— 多模态,视觉,预训练模型
![一文解锁华为云新技能-AIOT开发全流程【设备接入-ESP端侧数据收集[MQTT]-实时数据分析】(步步截图较详细)](https://www.itcode1024.com/wp-content/themes/begin/prune.php?src=https://www.itcode1024.com/wp-content/themes/begin/img/loading.png&w=280&h=210&a=&zc=1)
一文解锁华为云新技能-AIOT开发全流程【设备接入-ESP端侧数据收集[MQTT]-实时数据分析】(步步截图较详细)

语音识别(ASR)论文优选:关注语音识别系统Fairness问题Towards Measuring Fairness in Speech Recognition

论文导读 | 自然语言处理增强的数据库调参

AArch64编译安装特定GPU版本TensorFlow及Bazel

IDEA 连接MySQL与使用方式

MacBook21-m1 pro芯片安装Anaconda及TensorFlow的GPU版本(提供全部所需文件)

打通tensorflow版Unet_v1代码

解决印地语数据稀缺的语音识别训练难题【内含数据集】

NLP——Tokenizer

方案分享 | 高手云集 共同探索重口音AI语音识别

【目标检测】(13) 先验框解码,调整预测框,附TensorFlow完整代码
