Python_爬虫系列_5.Pandas,Matplotlib,Pyecharts和Echarts

Python_爬虫系列文章目录

Python_爬虫系列_1.BeautifulSoup

Python_爬虫系列_2.XPath

Python_爬虫系列_3.Re(正则表达式)

Python_爬虫系列_4.Numpy库的学习

Python_爬虫系列_5.Pandas,Matplotlib,Pyecharts和Echarts

Python_爬虫系列_10.综合案例


前言

不用说了,好重要哦!!!

一、pandas是什么?

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

直接上案例

二、Pandas案例

1.demo1

# 数据准备
import pandas as pd
df = pd.read_csv("taobao_data.csv")
df.head()
# 一、matplotlib
# matplotlib是Python中非常出色的可视化库,能轻松应对大多数画图需求。
# 1、画出各省份平均价格、各省份平均成交量柱状图
# 删除“宝贝”和“卖家”两列,并根据“位置”对数值字段求平均值,进行分组汇总,最后根据“成交量”均值降
# 序排序
# 默认是axis=0删除行,axis=1表示删除列
df_mean = df.drop(["宝贝","卖家"],axis=1).groupby("位置").mean().sort_values("成交量",ascending=False)


import matplotlib as mpl
import matplotlib.pyplot as plt
# # 解决图中中文乱码的方法:
# # 方法一:第9章方法
# # 方法二:如果是在jupyter notebook里,设置下面两行才能显示中文
# plt.rcParams['font.family'] = ['sans-serif']
# # 如果是在 PyCharm 里,只要下面一行,上面的一行可以删除
# plt.rcParams['font.sans-serif'] = ['SimHei']
# # (1)设定画图背景样式
# # 设置画布风格为ggplot,ggplot是一个出色的画图库
# mpl.style.use('ggplot')
# # (2)设定画布
# # 设定画布fig,大画布分为两个小画布ax1和ax2,figsize设定画布的大小,12*4点(point)
# fig, (ax1,ax2) = plt.subplots(1,2,figsize=(12,4))
# # (3)画图及设定元素
# # 画图只需要在数据集后用.plot方法就可以画图了
# # kind='barh'指定绘制的是横向条形图
# # ax=ax1表示这张条形图画在ax1这张子画布上
# df_mean.价格.plot(kind='barh',ax=ax1)
# # set_xlabel设定X轴标签
# ax1.set_xlabel("各省份平均价格")
# df_mean.成交量.plot(kind='barh',ax=ax2)
# ax2.set_xlabel("各省份平均成交量")
# # (4)自动调整格式
# # 设定好图标元素后,使图标自动调整格式
# fig.tight_layout()
#
# plt.show()


# 指定一个2*2布局的正方形画布
fig, axes = plt.subplots(2,2,figsize=(10,10))
s = df_mean.成交量
# kind='line'表示线图
s.plot(ax = axes[0][0],kind='line',title="line")
# kind='bar'表示柱状图
s.plot(ax = axes[0][1],kind='bar',title="bar")
# kind='box'表示箱型图
s.plot(ax = axes[1][0],kind='box',title="box")
# kind='pie'表示饼图
s.plot(ax = axes[1][1],kind='pie',title="pie")
fig.tight_layout()
plt.show()

2.demo2

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


三、Matplotlib案例

1.饼图

import matplotlib.pyplot as plt
lable='a','b','c','d'
size=4,4,1,1
explode=0,0.1,0,0
colors='yellowgreen','gold','lightskyblue','lightcoral'
plt.pie(size,explode=explode,labels=lable,colors=colors,autopct='%1.1f%%',shadow=True,startangle=50)
plt.axis('equal')
plt.show()

在这里插入图片描述

2.折线图

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4],[0,1,2,3])
plt.ylabel('numbers')
plt.show()

在这里插入图片描述

3.折线图

import numpy as np
import matplotlib.pyplot as plt

# # evenly sampled time at 200ms intervals
# t = np.arange(0., 5., 0.2)
#
# # red dashes, blue squares and green triangles
# plt.plot(t, t, 'r--', t, t ** 2, 'bs', t, t ** 3, 'g^')
# plt.show()
plt.plot([1, 2, 3, 4], [10, 20, 25, 30], color='lightblue', linewidth=3)
plt.xlim(0.5, 4.5)
plt.show()

在这里插入图片描述

4.

import numpy as np
import matplotlib.pyplot as plt

# 生成一些区间 [0, 1] 内的数据
y = np.random.normal(loc=0.5, scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))

# 带有多个轴域刻度的 plot
plt.figure(1)

# 线性
plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear')
plt.title('linear')
plt.grid(True)

# 对数
plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')
plt.title('log')
plt.grid(True)

# 对称的对数
plt.subplot(223)
plt.plot(x, y - y.mean())
plt.yscale('symlog')
plt.title('symlog')
plt.grid(True)

# logit
plt.subplot(224)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)

plt.show()

在这里插入图片描述

四、Pyecharts案例

1.资源

官方文档

2.柱状图

from pyecharts.charts import Bar

bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render("mycharts.html")


pyecharts 所有方法均支持链式调用。

from pyecharts.charts import Bar

bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render()

在这里插入图片描述

3.折线图

import numpy as np
import matplotlib.pyplot as plt

# # evenly sampled time at 200ms intervals
# t = np.arange(0., 5., 0.2)
#
# # red dashes, blue squares and green triangles
# plt.plot(t, t, 'r--', t, t ** 2, 'bs', t, t ** 3, 'g^')
# plt.show()
plt.plot([1, 2, 3, 4], [10, 20, 25, 30], color='lightblue', linewidth=3)
plt.xlim(0.5, 4.5)
plt.show()

五、echarts案例

1.资源

官方文档
ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

总结

<font color=#999AAA 好好学习天天向上

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

joyyi9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值