[数据分析]Matplotlib

Python数据分析【1】:matplotlib库详细教程 Python数据分析:numpy, pandas, matplotlib一、基本介绍1. 数据分析2. 环境安装二、matplotlib1. 基本介绍2. 基本要点3. 散点图/直方图/柱状图4. 画图工具三、numpy二级目录四、pandas二级目录 一、基本介绍 1. 数据分析 为什么要学习数据分析? ① 从一堆数据里面找到数据规律 ② 岗位需求 ③ 是Python数据科学的基础 ④ 是机器学... 阅读详情

1 预备知识

  • 什么是matplotlib

    • 是专门用于开发2D(3D)图表的包

  • 绘制图像流程

    • 1.创建画布 -- plt.figure(figsize=(20,8), dpi=100)

    • 2.绘制图像 -- plt.plot(x, y)

    • 3.显示图像 -- plt.show()

2 画图案例

import matplotlib.pyplot as plt
import random
from pylab import mpl

# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

# 全局设置字体大小
plt.rcParams.update({'font.size': 30})  # 设置全局字体大小

# 0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]

# 1.创建画布
plt.figure(figsize=(30, 12), dpi=200)

# 2.绘制图像
plt.plot(x, y_shanghai)

# 2.1 添加x,y轴刻度
# 构造x,y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(15,20)

# 刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::2])

# 2.2 添加网格显示
plt.grid(True, linestyle="--", alpha=0.5)

# 2.3 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点--12点某城市温度变化图", fontsize=30)

# 2.4 图像保存(一定要在show之前)
plt.savefig("./test.png")

# 3.图像显示
plt.show()

 

import matplotlib.pyplot as plt
import random
from pylab import mpl

# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

# 全局设置字体大小
plt.rcParams.update({'font.size': 30})  # 设置全局字体大小

# 0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(10, 15) for i in x]


# 1.创建画布
plt.figure(figsize=(30, 12), dpi=200)

# 2.绘制图像
plt.plot(x, y_shanghai)
plt.plot(x, y_beijing,color='orange',linestyle='--')

# 2.1 添加x,y轴刻度
# 构造x,y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(10,20)

# 刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::2])

# 2.2 添加网格显示
plt.grid(True, linestyle="--", alpha=0.5)

# 2.3 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点--12点某城市温度变化图", fontsize=30)

# 2.4 图像保存(一定要在show之前)
plt.savefig("./test.png")

# 3.图像显示
plt.show()

# 0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 5) for i in x]

# 1.创建画布
# plt.figure(figsize=(20, 8), dpi=100)
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=100)

# 全局设置字体大小
plt.rcParams.update({'font.size': 30})  # 设置全局字体大小


# 2.绘制图像
# plt.plot(x, y_shanghai, label="上海")
# plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
axes[0].plot(x, y_shanghai, label="上海")
axes[1].plot(x, y_beijing, color="r", linestyle="--", label="北京")

# 2.1 添加x,y轴刻度
# 构造x,y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)

# 刻度显示
# plt.xticks(x[::5], x_ticks_label[::5])
# plt.yticks(y_ticks[::5])
axes[0].set_xticks(x[::15])
axes[0].set_yticks(y_ticks[::15])
axes[0].set_xticklabels(x_ticks_label[::15])
axes[1].set_xticks(x[::15])
axes[1].set_yticks(y_ticks[::15])
axes[1].set_xticklabels(x_ticks_label[::15])

# 2.2 添加网格显示
# plt.grid(True, linestyle="--", alpha=0.5)
axes[0].grid(True, linestyle="--", alpha=0.5)
axes[1].grid(True, linestyle="--", alpha=0.5)

# 2.3 添加描述信息
# plt.xlabel("时间")
# plt.ylabel("温度")
# plt.title("中午11点--12点某城市温度变化图", fontsize=20)
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("中午11点--12点某城市温度变化图", fontsize=30)
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("中午11点--12点某城市温度变化图", fontsize=30)

# # 2.4 图像保存
plt.savefig("./test.png")

# # 2.5 添加图例
# plt.legend(loc=0)
axes[0].legend(loc=0)
axes[1].legend(loc=0)

plt.savefig('shanghai_beijing.png')

# 3.图像显示
plt.show()

import matplotlib.pyplot as plt
fig=plt.figure(figsize=(8,6),dpi=100)
x=[1,2,3,4]
y=[1,4,9,16]
plt.scatter(x,y,color='red')
plt.show()

3 RFM案例

import numpy as np
import pandas as pd

# 导入数据
df_raw = pd.DataFrame(pd.read_excel('./dataset/sales.xlsx',index_col='USERID'))

# 缺失值处理
sales_data = df_raw.dropna() # 丢失带有缺失值NA的行记录
sales_data = sales_data[sales_data['AMOUNTINFO'] > 1] # 丢弃订单金额<=1的记录 

# 数据转换 (按用户id去重归总)
recency_value = sales_data['ORDERDATE'].groupby(sales_data.index).max() #计算最近一次订单时间
frequency_value = sales_data['ORDERDATE'].groupby(sales_data.index).count() #计算订单频率
monetary_value = sales_data['AMOUNTINFO'].groupby(sales_data.index).sum() #计算订单总金额

# 分别计算R,F,M得分
deadline_date = pd.to_datetime("2020-05-01") #指定一个时间节点,用来计算其他时间和改时间的距离
r_interval = (deadline_date - recency_value).dt.days #计算r间隔
r_score = pd.cut(r_interval, 5, labels=[5,4,3,2,1]) # 计算r得分 五分位倒序
f_score = pd.cut(frequency_value, 5, labels=[1,2,3,4,5]) # 计算f得分
m_score = pd.cut(monetary_value, 5, labels=[1,2,3,4,5]) # 计算m得分

# R,F,M数据合并
rfm_list = [r_score, f_score, m_score] # 将R,F,M三个维度组成列表
rfm_cols = ['r_score', 'f_score', 'm_score'] # 设置R,F,M三个维度的列名
rfm_pd = pd.DataFrame(np.array(rfm_list).transpose(), dtype=np.int32, columns=rfm_cols, index=frequency_value.index) #建立R,F,M数据框

#策略1:加权得分 定义用户价值
rfm_pd['rfm_wscore'] = rfm_pd['r_score']*0.2 + rfm_pd['f_score']*0.2 + rfm_pd['m_score']*0.6

#策略2:RFM组合 直接输出三维度值
rfm_pd_tmp = rfm_pd.copy()
rfm_pd_tmp['r_score'] = rfm_pd_tmp['r_score'].astype('str')
rfm_pd_tmp['f_score'] = rfm_pd_tmp['f_score'].astype('str')
rfm_pd_tmp['m_score'] = rfm_pd_tmp['m_score'].astype('str')
rfm_pd['rfm_comb'] = rfm_pd_tmp['r_score'].str.cat(rfm_pd_tmp['f_score']).str.cat(rfm_pd_tmp['m_score'])

# 导出数据
rfm_pd.to_csv('rfm_result.csv')

python数据分析——numpy,pandas,matplotlib matliotilb:帮助画图 numpy:帮助我们处理数据型的数组 pandas:是在numpy的基础上除了帮我们处理数据型的数组,还能帮助我们处理字符串,列表,以及时间序列等等所有数据类型都是可以处理的 一,数据分析是用适当的方法对收集来的大量数据进行分析.(帮助人们做出判断,以便采取适当行动) 二,数据分析的流程: 1.提出问题 2.准备数据 3.分析数据 4.获得结论 5.成果可视化(图表或者文字等) 三,环境anaconda jupyter notebook ma. 阅读详情

相关推荐

Python数据分析matplotlib可视化之绘图

Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单。 Python中通过matplotlib模块的pyplot子库来完成绘图。Matplotlib可用于创建高质量的图表和图形,也可以用于绘制和可视化结果。matplotlib是Python优秀的数据可视化第三方库,matplotlb.pyplot是绘制种...

1810

数据分析 numpy、pandas、matplotlib

一、数据分析初始: 1.为什么要有数据分析? a.岗位需求; b.python数据科学的基础; c.机器学习的基础; 2.数据分析: 用适当的方法对收集的大量数据进行分析,帮助人们做出判断,以便采取适当的行动。 3.数据分析的流程: 提出问题->准备数据->分析数据->获取结论->成果可视化 4.CONDA环境安装: conad : data science package & ...

coco7的博客 2559

数据分析之matplotlib篇

数据分析之matplotlib篇 文章目录数据分析之matplotlib篇matplotlib简介matplotlib基础绘制多次图形和不同差异图形常用统计图对比绘制散点图绘制条形图绘制基本条形图绘制多次条形图绘制直方图属性设置1、位置`loc`2、线型`linestyle`3、折线点型`marker`其他图形绘制绘图网站推荐参考资料 matplotlib简介 matplotlib官网 数据分析:将大量的数据进行统计和整理,得出结论,为后序的决策提供数据支持 学习matplotlib? 能将数据进行可视化

像写诗一样优雅地写代码~ 2万+

数据分析matplotlib

plt.grid(color='green',linestyle='--',linewidth=1.5)#默认为xy。# plt.title('李欣逆天言行',loc='left',fontdict=font1)#字体默认在中间。# plt.xlabel('平均逆天次数',loc='right',fontdict=font2)# plt.xlabel('平均逆天次数',loc='right',fontdict=font2)# plt.xlabel('平均逆天次数',fontdict=font2)

2402_88671527的博客 1002

ROS 2实战:用MoveIt Task Constructor让机械臂完成抓取任务(附避坑指南)

本文详细介绍了如何在ROS 2环境中使用MoveIt Task Constructor框架,为Franka Panda机械臂构建一个完整的拾取放置任务流水线。通过分解任务阶段、配置规划器并处理实际部署中的常见问题,帮助开发者从基础运动规划升级到可靠的多步骤任务编排,并附有核心避坑指南。

vvv99的博客 508

深入理解搜索引擎——搜索评价指标

    搜索引擎,在做好query理解、索引召回以及排序模型之后,就能直接推上线了吗?答案是否定的,还需对其性能和质量进行评测。性能无非是对时间和空间的运行效率作评测,不细讲,今天讲讲搜索引擎的质量评测。通过质量评测,可根据评测结果不断的进行改进和研究,也可以验证搜索引擎在真实环境中运行时的实际效果。因此,搜索引擎的质量评测对于整个系统的研制和发展是至关重要的。     那么有哪些指标可以评估搜索引擎的结果质量呢?最广为人知的

我是药老的博客 4485

Python数据分析matplotlib学习

下面主要介绍Python数据分析mapplotlib学习,供各位小伙伴参考。

zhangliushi的博客 608

Dify保姆级教程:从零搭建AI知识库,让大模型真正懂你的文档

通用大模型的知识边界来自公开语料,面对企业内部制度、产品手册等私有内容,往往只能靠“猜”,由此产生幻觉。要解决这个问题,需要借助检索增强生成(RAG)技术,为模型配置一个外挂资料库。RAG的原理类似开卷考试:先对文档进行文本切分、向量化,再在提问时检索语义相关的片段,交由大模型生成答案。Dify作为开源AI知识库平台,将文档导入、分段设置、向量索引、召回测试等复杂链路封装成可视化操作,让产品经理、运营等非研发人员也能独立搭建企业级问答助手。本文从环境部署、模型接入、参数调优到多知识库维护,完整覆盖一条可落地

weixin_29039773的博客 221

数据分析以及matplotlib应用

数据分析的重要性 数据是分析与爬虫,机器学习的基础 数据分析定义 用适当的方法对收集来的数据进行分析,帮助人们做出判断,以便采取正确的行动。 数据分析流程 环境配置 matplotlib 能生成数据图形,能将数据进行可视化处理,使数据更加客观。 实现程序 from matplotlib import pyplot as plt x = range(2,26,2) y = [15,13,5,12,15,21,20,13,2,1,5,6] plt.plot(x,y) plt.show()

啥也不会的博客 562

重带电粒子的能量歧离(energy straggling)

能量歧离,Bethe-Bloch

G751888629的博客 2298

USB-Type-C PCB布局布线设计规范

USB Type-C连接器有24个引脚。图1和图2分别显示了USB Type-C插座和插头的插针。母头/母座公头/插头可以很明显看出,插口内的Pin功能相对于中心对称。公头插入母头,无论正反插,引脚功能都完美契合。而且电源VBUS/GND都拥有4个Pin,最大支持5A电流,在保证高速数据传输的同时也提高了电流承载能力。表 1 和表 2 分别汇总了在 USB Type-C 型插座和插头上所使用的信号列表。

weixin_63005522的博客 8286

用Matplotlib进行数据分析

随着大数据的发展,简单的excel表格无法直接体现数据的特征,利用Python的Matplotlib进行数据分析绘制图表,可以直观呈现出数据分布规律,发线规律提示:以下是本篇文章正文内容,下面案例可供参考matplotlib提供了大量的可视化工具,帮助我们直观观测数据分布规律。

m0_56298967的博客 398

OpenCV教程:超详细的OpenCV入门教程,值得收藏

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。 OpenCV 使用 C/C++ 开发,同时也提供了 Python、Java、MATLAB 等其他语言的接口。 OpenCV 是跨平台的,可以在Windows、Linux、Mac OS、Android、iOS 等操作系统上运行。 OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、..

pythonandaiot的博客 14万+

matplotlib绘图及数据分析的初认识

文章目录一、数据分析基础概念1.什么是数据分析2.anaconda3.认识jupyter notebook二、matplotlib1.什么是matplotlib2.matplotlib功能3.matplotlib实例 一、数据分析基础概念 1.什么是数据分析 数据分析是用适当的方法对收集来的大量数据进行统计和整理,得出结论,为后续的决策提供数据支持 2.anaconda ①创建环境:conda create -n python3 python=3 ②切换环境:   windows: activate pyt

XST1520203418的博客 689

2-1 AUTOSAR ASW概述

应用软件层(Application Software Layer,ASW)位于AUTOSAR整个架构的顶层。它由各种AUTOSAR Software Component(SW-C)组成,每个SW-C封装了各种应用的功能集。每个SW-C只能运行在一个ECU中。ASW层的设计目标是实现功能的可重用性和可配置性。它通过封装底层提供的服务,为上层应用层提供统一的接口。ASW层的开发可以基于AUTOSAR提供的标准化软件组件,也可以根据具体需求进行定制开发。

qq_42357877的博客 1906

100天精通Python(基础篇)——第2天:基础语法详解(标识符、保留字、注释与代码结构)

100天精通Python(基础篇)——第2天:基础语法详解(标识符、保留字、注释与代码结构)

努力让自己发光,对的人才能迎着光而来 34万+

数据分析训练营matplotlib

import matplotlib.pyplot as plt import numpy as np 散点图 arr1=np.random.uniform(0.0,5.0,size=(100,2))#从均匀分布中随机采样 arr2=np.random.uniform(4.2,10,size=(100,2))#从均匀分布中随机采样 np.savetxt('./matplot_test_data1.txt',arr1,fmt='%f %f',delimiter='\n')#保存在当前路径下,fmt为保存格式,

lildn的博客 222

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Python数据分析(Matplotlib、NumPy、Pandas)

Python数据分析三剑客:NumPy、Matplotlib、Pandas,入门笔记,视频教程参考B站黑马程序员

houjingchuan的博客 1681

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数据分析三剑客numpy,pandas,matplotlib学习总结

numpy,pandas,matplotlib可谓是数据分析的好伙伴,对于处理庞大数据有奇效,奇思妙想让我们的开发起飞我个人理解numpy的作用是读取简单的数据型数据,再对数据进行各种各样的操作;pandas相比于numpy 可以读取的数据就不局限与数据型,文本型,字符串型都可以,同时可以插入行和列的表头;matplotlib可以将处理好的数据可视化的展现出来

2302_77423323的博客 1611

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

数据分析之Matplotlib

项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述: 提示:这里描述项目中遇到的问题: 例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据 APP 中接收数据代码: @Override public void run() { bytes = mmInStream.read(buffer); mHandler.obta

Sunsky0504的博客 271

数据分析基础之matplotlib绘制折线图

什么是数据分析       数据分析是用适当的方法对手机来的大量数据及逆行分析,帮助人们做出判断,以便采取适当行动。 数据分析的流程 提出问题 准备数据 分析数据 获得数据 成果可视化或者其他 数据分析的可视化工具–matplotlib matplotlib的好处? 能将数据进行可视化,更直观的呈现 使数据更加客观、更具说服力 ...

weixin_44953902的博客 1795

【数据分析】matplotlib、numpy、pandas速通

由于csv便于展示,读取和写入,所以很多地方也是用csv的格式存储和传输中小型的数据,为了方便教学,我们会经常操作csv格式的文件,但是操作数据库中的数据也是很容易的实现的。可视化工具中的github,相比于matplotlib更为简单,图形更漂亮,同时兼容natplotlib和pandas,使用简单,照着文档写即可。视图的操作,一种切片,会创建新的对象a,但是a的数据完全由b保管,他们两个的数据变化是一致的。列索引,表名不同列,纵向索引,叫columns,1轴,axis=1。

做一只猫的博客 1692

【数据分析之道-Matplotlib(九)】Matplotlib棉棒图

在Matplotlib中,可以使用stem()来绘制棉棒图。棉棒图是柱状图的变形,可以把它看成特殊的柱状图。stem()函数用于绘制离散数据的垂直线图,常用于显示离散的数据点以及它们的垂直变化。

阿极的博客 5162

Matplotlib 可视化数据分析图表简单介绍

数据分析图表更加直观、生动和具体,它将复杂的统计数字变得简单化、通俗化、形象化,使人一目了然,便于理解和比较。其中,图例标示,代表数据系列的图案,即不同颜色的小方块:图例项,与图例标示对应的数据系列名称。数据分析图表有很多种,但每一种图表的绝大组成部分是基本相同的,一张完整的图表一般包括画布、图表标题、绘图区、数据系列、坐标轴、坐标轴标题、图例、文本标签、网格线等,如下面的图所示。(3)绘图区:画布中的一部分,即显示图形的矩形区域,可改变填充颜色、位置,以便图表展示更好的图形效果。

2201_75573128的博客 1448

数据分析-Pandas的直接用Matplotlib绘图

数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择,以及巴黎、伦敦欧洲城市NO2​作为样例。NO2​导入关键模块在某些情况下,直接使用 matplotlib 可能更可取,或者更有必要。

Alex_StarSky的博客 1195
上一篇: [数据分析]Numpy
下一篇: [机器学习]概述
Letmooning
博客等级 码龄2年 503粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值