Pandas -----------------------基础知识(八)

Pandas内置Matplotlib

加载数据

import pandas as pdanscombe = pd.read_csv('/root/pandas_code_ling/data/e_anscombe.csv')
anscombe

dataset_1 = anscombe[anscombe['dataset']=='I']
dataset_1dataset_1.describe()

提供数据

dataset_1 = anscombe[anscombe['dataset']=='I']
dataset_2 = anscombe[anscombe['dataset']=='II']
dataset_3 = anscombe[anscombe['dataset']=='III']
dataset_4 = anscombe[anscombe['dataset']=='IV']

画布

import matplotlib.pyplot as plt# 创建画布
fig = plt.figure(figsize=(16,8))# 向画布添加子图
#子图有两行两列,位置是1
axes1 = fig.add_subplot(2,2,1)
#子图有两行两列,位置是2
axes2 = fig.add_subplot(2,2,2)
#子图有两行两列,位置是3
axes3 = fig.add_subplot(2,2,3)
#子图有两行两列,位置是4
axes4 = fig.add_subplot(2,2,4)

绘图

axes1.plot(dataset_1['x'],dataset_1['y'],'o')
axes2.plot(dataset_2['x'],dataset_2['y'],'o')
axes3.plot(dataset_3['x'],dataset_3['y'],'o')
axes4.plot(dataset_4['x'],dataset_4['y'],'o')axes1.set_title('dataset_1')
axes2.set_title('dataset_2')
axes3.set_title('dataset_3')
axes4.set_title('dataset_4')fig.suptitle('Anscombe Data')
fig

pandas绘图

import pandas as pd
import matplotlib.pyplot as plt# 加载 anscombe数据
anscombe = pd.read_csv('/root/pandas_code_ling/data/e_anscombe.csv')df1 = anscombe[anscombe['dataset']=='I']
df2 = anscombe[anscombe['dataset']=='II']
df3 = anscombe[anscombe['dataset']=='III']
df4 = anscombe[anscombe['dataset']=='IV']print(df1)
print('-------------------------------------')df1.plot()  # 默认折线图
print('-------------------------------------')
df1['x'].plot.bar()# df.plot.line() # 折线图的全写方式
# df1.plot.bar() # 柱状图
# df.plot.barh() # 横向柱状图 (条形图)
# df.plot.hist() # 直方图
# df.plot.box() # 箱形图
# df1.plot.kde() # 核密度估计图
# df.plot.density() # 同 df.plot.kde()
# df1.plot.area() # 面积图
# s.plot.pie() # 饼图
# df.plot.scatter() # 散点图
# df.plot.hexbin() # 六边形箱体图,或简称六边形图
plt.rcParams["font.sans-serif"]=["SimHei"] 
plt.title('统计图')
plt.show()

df1.plot() # 默认折线图
#df1.plot(kind='line') # 结果与df1.plot()
#df1.plot.line() # 结果与df1.plot()
# x轴是索引值,y轴是各列的具体值
# 也可以通过参数指定xy轴对应的列名
df1.plot.line(x='x', y='y')
plt.show()

df1.plot.bar() # 柱状图
df1.plot.bar(stacked=True) # 柱状堆积
# 也可以通过参数指定xy轴对应的列名
df1.plot.bar(x='x', y='y')
plt.show()

df1.plot.barh() # 水平条形图
df1.plot.barh(stacked=True) # 水平条形堆积图
# 也可以通过参数指定xy轴对应的列名
df1.plot.barh(x='x', y='y')
plt.show()

# 饼图,只能展示一维数据
# 参数y指定列名
# 参数autopct='%.2f%%'指定显示百分比 %.2f%%表示保留2位小数
# 参数radius=0.9 指定饼图直径的比例,最大为1
# 参数figsize=(16, 8) 设定图片大小
df1.plot.pie(y='x', autopct='%.2f%%', radius=0.9, figsize=(16, 8)) 
plt.show()

# 饼图,只能展示一维数据
# 参数y指定列名
# 参数autopct='%.2f%%'指定显示百分比 %.2f%%表示保留2位小数
# 参数radius=0.9 指定饼图直径的比例,最大为1
# 参数figsize=(16, 8) 设定图片大小
df1.plot.pie(y='x', autopct='%.2f%%', figsize=(16, 8)) 
plt.show()

# 指定xy轴,grid=True开启背景辅助线
df1.plot.scatter(x='x', y='y', grid=True ,s=df1['x']*100)
plt.show()

df1.boxplot()
# df1.plot.boxplot() # 报错
plt.show()

df1['x'].plot.hist(bins=10)
plt.show()

# gridsize=12设定蜂箱格子的大小,数字越小格子越大
df1.plot.hexbin(x='x', y='y', gridsize=12)
plt.show()

seaborn图表

加载数据

# 导包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns # Anaconda内置,无需额外安装
# 加载数据
tips_df = pd.read_csv('/root/pandas_code_ling/data/f_tips.csv')
tips_df

tips_df
#%%
# 指定数据集,指定x轴为消费订单金额,y轴为消费金额,
# 散点图通用的可选参数 hue='sex'通过颜色指定分组
# 散点图通用的可选参数 style='smoker' 通过形状指定分组
# 散点图通用的可选参数 size='time' 通过大小指定分组
sns.scatterplot(data=tips_df, x='total_bill', y='tip', hue='sex', style='smoker', size='time'
)
plt.show()

plt.show()
#%%
plt.show()
sns.relplot(data=tips_df, x='total_bill', y='tip')  # 默认 kind='scatter'
sns.relplot(data=tips_df, x='total_bill', y='tip', kind='line')
plt.show()

f = plt.figure()
f.add_subplot(2,1,1)
# 按照x属性所对应的类别分别展示y属性的值,适用于分类数据
# 不同饭点的账单总金额的散点图
sns.stripplot(data=tips_df, x='time', y='total_bill')f.add_subplot(2,1,2)
# hue通用参数按颜色划分
# jitter=True 当数据点重合较多时,尽量分散的展示数据点
# dodge=True 拆分分类
sns.stripplot(data=tips_df, x='time', y='total_bill', jitter=True, dodge=True, hue='day')
plt.show()

# 下图分别描述午餐账单、晚餐账单的最大值、最小值、三个四分位数,以及所有账单金额出现的次数(频率)
sns.violinplot(data=tips_df, x='time', y='total_bill')
plt.show()

plt.show()
# 下图中黑色的粗线条展示了数据的分布(误差线), 线条越短, 数据分布越均匀
# 下图中每个柱的顶点就是该分类y指定列的平均值
sns.barplot(data=tips_df, x='day', y='total_bill')
plt.show()

# 下图分别描述午餐账单、晚餐账单的最大值、最小值、三个四分位数,以及所有账单金额出现的次数(频率)
sns.violinplot(data=tips_df, x='day', y='total_bill')
plt.show()

plt.show()
# 按x指定的列值分组统计出现次数
sns.countplot(data=tips_df, x='day')
plt.show()

plt.show()
# 男女在午餐晚餐的平均消费
new_df = tips_df.pivot_table(index='sex', columns='time', values='total_bill', aggfunc='mean')
print(new_df)
# 输出为热力图:男性在晚餐花费最多
sns.heatmap(data=new_df)
plt.show()

plt.show()
sns.pairplot(tips_df)
# sns.pairplot(df) # 全部数值列进行两两组合
# sns.pairplot(df, vars=['列名1', '列名2']) # 指定要组合展示的列名
plt.show()

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

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

相关文章

【C语言】分支和循环(2)

🤔个人主页: 起名字真南 😙个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 关系操作符2 条件操作符3 逻辑操作符 :|| ,&& ,!3.1 逻辑取反运算符3.2 与运算符3.3 或运算符3.4 练习闰年判断3.5 短…

仪器校准机构不符合项应该怎么签发和整改?

签发不合格项是内审工作之中非常重要的一环,那么如何正确签发不合格项,下列几个方面可以供大家参考: 一、目的 为便于仪器校准机构正确理解不符合项整改要求,特制定本指南,以指导企业规范、有效、高效地处理不符合项。…

旅游管理智能化:SpringBoot框架的应用

第一章 绪论 1.1 研究现状 时代的发展,我们迎来了数字化信息时代,它正在渐渐的改变着人们的工作、学习以及娱乐方式。计算机网络,Internet扮演着越来越重要的角色,人们已经离不开网络了,大量的图片、文字、视频冲击着我…

SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz

SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz 简介适用场景Quartz核心概念Quartz 存储方式Quartz 版本类型引入相关依赖方式一:内存方式(MEMORY)存储实现定时任务1. 定义任务类2. 定义任务描述及创建任务触发器3. Quartz的…

强引用、软引用、弱引用、虚引用用法

强引用、软引用、弱引用、虚引用用法 强引用弱引用弱引用虚引用 强引用 强引用是指程序中在程序代码之中类似“Object obj new Object()”的引用关系,无论任何情况下,只要强引用关系还存在,垃圾回收器就不会回收掉被引用的对象。 强引用是我…

日期类(Date)的实现 (C++版)

​ 🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:C入门 目录 前言 一、Date的头文件,包含函数声明 二、 Date.cpp 2.1 int GetMonthDay(int year, int month) 2.2 bool Check() 2.3 Date& …

【吊打面试官系列-MySQL面试题】什么是基本表?什么是视图?

大家好,我是锋哥。今天分享关于【什么是基本表?什么是视图?】面试题,希望对大家有帮助; 什么是基本表?什么是视图? 基本表是本身独立存在的表,在 SQL 中一个关系就对应一个表。 视图…

【含开题报告+文档+PPT+源码】闲置二手市场小程序的设计与实现

开题报告 闲置二手市场平台的背景可以追溯到互联网的普及和电子商务的兴起。随着互联网技术的不断发展,人们的消费观念也在不断变化,越来越多的人开始关注二手商品的价值和优势。同时,大用户群体也在不断增加,他们对于经济实惠的…

利用顺序栈输出对应的二进制数,找迷宫出口详解(数据结构作业04)

目录 利用顺序栈输出对应的二进制数 代码: 运行结果: 找迷宫出口 代码: 图解: 运行结果: 利用顺序栈输出对应的二进制数 键盘输入一个十进制正整数89,用C语言设计一个算法,利用顺序栈…

MambaAD 实验部分讲解

4 实验 4.1 设置:数据集、指标和细节 数据集(6个) 1.MVTec-AD: 包含5种类型的纹理和10种类型的对象,总共5,354张高分辨率图像。 实验: 3,629张正常图像被指定为训练。 剩下的 1,725 张图像被保留用于测试…

网络基础擅长组建乐队

让我们荡起双桨 来说说网络吧 现有计算机要进行协作,网络的产生是必然的 局域网:计算机数量更多了, 通过交换机和路由器连接在一起 广域网:将远隔千里的计算机都连在一起 交换机路由器等设备就应运而生 计算机是人的工具,人要协…

美国游戏发展趋势

美国拥有一些最大、最具影响力的游戏开发工作室,是游戏行业的全球领导者。凭借丰富地创新历史,美国游戏开发不断发展,受到尖端技术、消费者偏好和市场动态的影响。已经出现了几个趋势,这些趋势定义了该国游戏发展的方向&#xff0…

node高版本报错: digital envelope routines::unsupported

node高版本报错: digital envelope routines::unsupported 解决方案: package.json中,启动命令前加上: set NODE_OPTIONS--openssl-legacy-provider &&

WPF 手撸插件 八 操作数据库一

1、本文将使用SqlSugar创建Sqlite数据库,进行入门的增删改查等操作。擦,咋写着写着凌乱起来了。 SqlSugar官方文档:简单示例,1分钟入门 - SqlSugar 5x - .NET果糖网 2、环境SqlSugar V5.0版本需要.Net Framework 4.6 &#xff0…

Qt源码-Qt多媒体音频框架

Qt 多媒体音频框架 一、概述二、音频设计1. ALSA 基础2. Qt 音频类1. 接口实现2. alsa 插件实现 一、概述 环境详细Qt版本Qt 5.15操作系统Deepin v23代码工具Visual Code源码https://github.com/qt/qtmultimedia/tree/5.15 这里记录一下在Linux下Qt 的 Qt Multimedia 模块的设…

Windows 11 version 24H2 LTSC 2024 中文版、英文版 (x64、ARM64) 下载 (updated Oct 2024)

Windows 11 version 24H2 & LTSC 2024 中文版、英文版 (x64、ARM64) 下载 (updated Oct 2024) Windows 11, version 24H2,企业版 arm64 x64 请访问原文链接:https://sysin.org/blog/windows-11/ 查看最新版。原创作品,转载请保留出处。…

20年408数据结构

第一题: 解析:这种题可以先画个草图分析一下,一下就看出来了。 这里的m(7,2)对应的是这图里的m(2,7),第一列存1个元素,第二列存2个元素,第三列存3个元素,第四列存4个元素,第五列存5个元素&#…

C嘎嘎入门篇:类和对象番外(时间类)

前文: 小编在前文讲述了类和对象的一部分内容,其中小编讲述过运算符重载这个概念以及一个时间类,当时小编讲的没有那么细致,下面小编将会讲述时间类来帮助各位读者朋友更好的去理解运算符重载,那么,代码时刻…

江西精装世家新型环保材料有限公司:环保家装理念已深入人心!

在现代社会,随着环保意识的觉醒,越来越多的人开始重视家居环境的健康与可持续性。江西精装世家新型环保材料有限公司,作为家装行业的佼佼者,正是这一绿色潮流的引领者。该公司将环保理念深深融入家装实践之中,为消费者…

奥斯卡影帝阿尔帕西诺自传出版:儿子和女友为他提供了写自传的灵感

女友努尔阿尔法拉(Noor Alfallah)何许人也? 许多人在听到阿尔帕西诺将在80岁出头再次成为父亲的消息时感到震惊,但一年后,帕西诺已经证明他喜欢再次成为他和努尔阿夫拉的女儿罗曼的父亲;甚至激发了一个即将…