Python可视化之pandas

news2024/12/23 19:13:36

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

    • 1.解决坐标轴刻度负号乱码
    • 2.解决中文乱码问题
    • 3.折线图Series.plot()&DataFrame.plot()
    • 4.条形图
    • 5.箱线图
    • 6.区域面积图(堆积折线图)
    • 7.散点图
    • 8.饼图


1.解决坐标轴刻度负号乱码

import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False

2.解决中文乱码问题

# 以下方式二选一
plt.rcParams['font.sans-serif']=['Simhei']
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] 

3.折线图Series.plot()&DataFrame.plot()

  • Series.plot():
    kind:line(折线图),bar(垂直条形图)、barh(水平条形图)、hist(直方图)、box(箱型图)、kde(核密度估计图)与density相同,area(面积图)、pie(饼图)
da = pd.Series([1,5,3,4,5,2.2,7,6.5])
da.index.name='site'
da.plot(kind='line',linestyle='-.',color='c',marker='*')

在这里插入图片描述

  • DataFrame.plot():
    kind:line(折线图,默认),bar或barh(条形图)、hist(频率柱状图)、box(箱型图)、kde(密度图,需引用scipy包)与density相同,area(区域图,不同区域面积占比)、pie(饼图)、scatter(散点图)、hexbin()
da = pd.DataFrame({'A':[3,5,3,4,5,5,7,6.5],'B':[2,6,2,1,7,2.4,6,8.3]})
da.plot(kind='line',linestyle='-',color='c',marker='o',
        xticks=[2,4,6,8,10],yticks=[2,4,6,8,10],xlim=[-1,9],title='对比折线图')

在这里插入图片描述

4.条形图

da = pd.Series([1,5,3,4,5,2.2,7,6.5])
da.index=['a','b','c','d','e','f','g','h']
da.index.name='site'
da.plot(kind='bar',fontsize=12)

在这里插入图片描述

da = pd.DataFrame({'A':[3,5,3,4,5,5,7,6.5],'B':[2,6,2,1,7,2.4,6,8.3]})
da.index=['a','b','c','d','e','f','g','h']
da.index.name='site'
da.plot(kind='bar',fontsize=12)

在这里插入图片描述
直方图是一种可以对值频率进行离散化显示的柱状图。数据点被拆分到离散的、间隔均匀的面元中,绘制的是各面元中数据点的数量,bins=20表示数值分辨率,具体来说是将随机数设定一个范围

a = np.random.randn(100)

df = pd.DataFrame({'length':a})
df.plot.hist(bins=20)

在这里插入图片描述

df = pd.DataFrame({'a':np.random.randn(100)+1,'b':np.random.randn(100),'c':np.random.randn(100)-1},
                  index=range(1,101),columns=['a','b','c'])

df.plot.hist()

在这里插入图片描述
在这里插入图片描述
下图是对数值进行累加,并绘制横向直方图,横轴表示频率,cumulative=True表示将频率从大到小排列
在这里插入图片描述
在这里插入图片描述
df.diff().hist()的效果是将DataFrame当中column分开,即将a,b,c分开绘制成三张图,df.diff().hist()可达到这个效果
在这里插入图片描述

5.箱线图

线条从上到下分布表示:最小值,第一四分位、中位数、第三四分和最大值

  • 绘制方法:
    Series.plot.box()
    DataFrame.boxplot()
    DataFrame.plot.box()
  • 参数:
    boxes:盒身
    whiskers:盒须
    medians:中位数
    caps:最大值,最小值
    在这里插入图片描述
df.plot.box(color=dict(boxes='c',whiskers='r',medians='b',caps='g'),sym='r+')  #sym设置极端值样式

在这里插入图片描述
水平箱线图
在这里插入图片描述

6.区域面积图(堆积折线图)

np.random.seed(80)
a=np.random.rand(10,5)

df = pd.DataFrame(a,columns=['a','b','c','d','e'])

df.plot.area()#生成堆积图

在这里插入图片描述
在这里插入图片描述

7.散点图

np.random.seed(80)
a=np.random.rand(10,5)

df = pd.DataFrame(a,columns=['a','b','c','d','e'])

df.plot.scatter(x='b',y='a')

在这里插入图片描述
图形嵌套
在这里插入图片描述

8.饼图

Series.plot.pie()
DataFrame.plot.pie()

np.random.seed(80)

df = pd.Series(np.random.rand(5),index=['a','b','c','d','e'],name='series')
df.plot.pie(figsize=(6,6))

在这里插入图片描述

np.random.seed(80)

df = pd.DataFrame(np.random.rand(5,2),index=['a','b','c','d','e'],columns=['x','y'])
df.plot.pie(subplots=True, figsize=(12,6))

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1574550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UNITY实战进阶-BatchRendererGroup+Jobs+Burst+RVO2+GPUAnimation 实现万人团战(一)

研究思路:GPUAnimation把动画放入GPU中处理,BatchRendererGroup进行动态批量渲染处理,JobsBurst进行多线程处理逻辑(移动、攻击等),RVO2采用Jobs的寻路导航。 准备工作: Editor > Project S…

注意!今明两天广东等地仍有较强降雨

中央气象台监测显示 进入4月以来 我国江南、华南北部强降雨 接连而至 湖南、江西、浙江中南部 福建大部、广东中北部等地降雨量 较常年同期偏多1倍以上 上述地区部分国家观测站 日雨量突破4月历史极值 截至4月7日早晨 广东广州、惠州、清远 韶关、河源等地部分地区 …

填字母游戏【蓝桥杯】/博弈+dfs

填字母游戏 博弈dfs #include<iostream> #include<map> using namespace std; //要用map存储已经处理过的字符串不然会超时 map<string,int> m; //dfs返回的就是结果 int dfs(string s) {//剪枝if(m.find(s)!m.end()) return m[s];//找到LOL代表输了if(s.fi…

浅谈Redis和一些指令

浅浅谈一谈Redis的客户端 Redis客户端 Redis也是一个客户端/服务端结构的程序。 MySQL也是一个客户端/服务端结构的程序。 Redis的客户端也有多种形态 1.自带命令行客户端 redis-cli 2.图形化界面的客户端&#xff08;桌面程序&#xff0c;web程序&#xff09; 像这样的图形…

随机森林、AdaBoost 和 XGBoost 三者之间的主要区别

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 集成学习是一种强大的机器学习范式&#xff0c;它通过构建并结合多个学习器来提高预测性能。其中&#xff0c;随机森林、AdaBoost 和 XGBoost 是集成学习领域中著名且广泛应用的方法。尽管这些方法共享…

C++ | Leetcode C++题解之第12题整数转罗马数字

题目&#xff1a; 题解&#xff1a; const string thousands[] {"", "M", "MM", "MMM"}; const string hundreds[] {"", "C", "CC", "CCC", "CD", "D", "DC&qu…

绕过断言的LFI-Assertion101

总结 getwebshell : 发现疑似LFI的地方 → 测试..过滤 → 尝试断言绕过 → 远程加载反弹shell → getwebshell 提 权 思 路 : suid文件发现 → aria2c远程下载ssh私钥覆盖/root/.ssh → ssh公钥登录提权 准备工作 启动VPN 获取攻击机IP → 192.168.45.218 启动靶机 获取目标…

邮件服务器:Postfix

文章目录 邮件服务器的功能与工作原理电子邮件的问题Mail server与DNS 之间的关系邮件传输所需要的组件(MTA、MUA、MDA)以及相关协议用户收信时服务器端所提供的相关协议&#xff1a;MRA电子邮件的数据内容 使用Postfix与Dovecot部署邮件系统部署基础的电子邮件系统配置Postfix…

山海鲸智慧农业可视化:开启农业现代化高效管理新时代

随着科技的不断进步&#xff0c;农业现代化已成为当今社会发展的重要趋势。在这一背景下&#xff0c;山海鲸智慧农业可视化解决方案应运而生&#xff0c;为农业生产带来了革命性的变革。它通过创新的可视化技术&#xff0c;将农业生产过程中的各个环节进行高效整合&#xff0c;…

OSPF协议详解

静态缺点 1、中大型复杂网络----配置量大 2、不能实时收敛 动态-----可以实时收敛 IGP----内部网关路由协议 RIP OSPF EIGRP ISIS EGP----外部网关路由协议 BGP IGP &#xff08;选路佳 占用资源 收敛快&#xff09;----一个协议好需满足这三个 距离矢量 DV RIP…

Pandas分箱/离散化cut与qcut的区别

cut与qcut区别 1、pd.cut()2、pd.qcut()3、cut与qcut区别 Pandas提供了智能剪贴功能&#xff1a;pd.cut()与pd.qcut()&#xff0c;它们通常用于更方便直观地处理关系型或标签型数据&#xff0c;将数据进行分箱/离散化 1、pd.cut() 我们可以通过两种方式使用cut()函数&#xff…

C++的并发世界(七)——互斥锁

0.死锁的由来 假设有两个线程T1和T2&#xff0c;它们需要对两个互斥量mtx1和mtx2进行访问。而且需要按照以下顺序获取互斥量的所有权&#xff1a; -T1先获取mte1的所有权,再获取mt2的所有权。 -T2先获取 mtx2的所有权。再铁取 mtx1的所有权。 如果两个线程同时执行&#xff0c…

Android Studio学习4——gradle文件

视频讲解 https://developer.android.google.cn/studio/releases/gradle-plugin.htmIl#updating-gradle

二分查找与搜索树高频问题-算法通关村

二分查找与搜索树高频问题-算法通关村 1 基于二分查找的拓展问题 1.1 山脉数组的封顶索引 LeetCode852&#xff1a;这个题的要求有点啰嗦&#xff0c;核心意思就是在数组中的某位位置i开始&#xff0c;从0到 i 是递增的&#xff0c;从i1到数组最后是递减的&#xff0c;让你找到…

JavaEE 初阶篇-深入了解线程池(线程池创建、线程池如何处理任务)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 线程池概述 1.1 线程池的优点 1.2 不使用线程池的问题 1.3 线程池的工作原理图 1.4 如何创建线程池&#xff1f; 2.0 通过 ThreadPoolExecutor 类自定义创建线程…

数据结构与算法笔记:递归函数设计技巧

ACM金牌带你零基础直达C语言精通-课程资料 本笔记属于船说系列课程之一&#xff0c;课程链接&#xff1a; 哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep66799?csourceprivate_space_class_null&spm_id_from333.999.0.0 你也可以选择购买『船说系列课程-年度…

Tensorflow2.0笔记 - 自定义Layer和Model实现CIFAR10数据集的训练

本笔记记录使用自定义Layer和Model来做CIFAR10数据集的训练。 CIFAR10数据集下载&#xff1a; https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz 自定义的Layer和Model实现较为简单&#xff0c;参数量较少&#xff0c;并且没有卷积层和dropout等&#xff0c;最终准确率…

穿越代码之海:探寻结构体深层逻辑,展望未来应用新天地

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看&#xff0c;已成习惯 创作不易&#xff0c;多多支持&#xff01; 结构体作为一种数据结构&#xff0c;其定义和特点决定了它在各种应用中的广泛适用性。随着科技的进步和新兴行业的不断涌现&#xf…

测试自动化流程设计思路

a) 背景介绍 基于当前互联网敏捷开发的现状&#xff0c;手工人力测试已不足以满足当前快速的版本迭代&#xff1b;以下将介绍一种可实现的自动化设计与使用。 b) 当前版本迭代流程 研发同学从代码库master分支拉出新代码进行研发工作得开发开发完成之后提交到代码库测试同学介入…

从概念到实践:探索独立站在当代电商中的关键作用

随着数字化时代的到来&#xff0c;电子商务已成为全球商业生态的核心组成部分。在这个不断变化的市场中&#xff0c;独立站作为企业建立在线身份和拓展业务的强大工具&#xff0c;正逐步展现出其不可替代的价值。 从概念到实践&#xff0c;本文将深入探索独立站在当代电商中的关…