基于多索引 pandas 数据框使用 matplotlib 绘制误差条

2024-02-15

我在 pandas 中有以下数据框:

>>>name   Hour   trt_level    stress   date          value
0  D43    9         H         control  2019-06-07    0.4561
1  D43    10        H         control  2019-06-07    0.3216
2  D42    8         M         stress   2019-06-07    0.2143
3  D42    9         M         stress   2019-06-07    0.1342
4  D21    8         L         stress   2019-06-07    0.3214
...

我想用 mse/std 创建带有误差栏的折线图,如下所示:

from : https://matplotlib.org/1.2.1/examples/pylab_examples/errorbar_demo.html但是 https://matplotlib.org/1.2.1/examples/pylab_examples/errorbar_demo.htmlbut就我而言:X 轴应该是小时,y 轴应该是值,三行,每一行代表治疗级别(trt_level),所以行代表 H、M、L。

为了做到这一点,我使用了函数 groupby 和 agg :

data = df.groupby(['trt_level','Hour']).agg([np.mean, np.std])
data.head()

>>>                value
                   mean      std
trt_level  Hour   
H           7      0.231      0.0058
            8      0.212      0.0094
            9      0.431      0.1154
...


这给了我数据库,其中包含治疗和时间作为索引以及值的平均值和标准差, 但问题是,当我尝试绘制它时,我只得到一行,上面没有 std:

data = data['value'] 
qual.plot(kind = "line", y = "mean", legend = False,  
          xerr = "std", title = "test", color='green')

当我想要的结果应该有三行,并且 std 位于顶部时(如果可以是 MES 而不是 std 更好,但对于这个问题,我更多地关注三行和 std 的显示)

我的最终目标是获得更像这样的图表(对于可怕的抽签感到抱歉):

但一直以来


就快到了。您必须取消堆叠多索引数据框。

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

#My test file contained at least two values per condition to calculate an SD value
#df = pd.read_csv("test.txt", sep = "\s{2,}") 

dfm = df.groupby(["trt_level","Hour"]).agg([np.mean, np.std])

dfm["value"].unstack(level=0).plot(y = "mean", yerr = "std", title = "TRT levels are really important!", color = list("rbg"))

plt.show()

样本输出

BTW: kind="line"不必指定,它是默认的。 pandas 文档列出了所有可能的关键字kind. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于多索引 pandas 数据框使用 matplotlib 绘制误差条 的相关文章

  • NumPy linalg.eig

    我有这个烦人的问题 但我还没有弄清楚 我有一个矩阵 我想找到特征向量 所以我写 val vec np linalg eig mymatrix 然后我得到了 vec 我的问题是 当我小组中的其他人对相同的矩阵 mymatrix 做同样的事情时
  • 在 python 3 中使用子进程

    我使用 subprocess 模块在 python 3 中运行 shell 命令 这是我的代码 import subprocess filename somename py in practical i m using a real fil
  • 在Python中如何获取字典的部分视图?

    是否有可能获得部分视图dict在Python中类似于pandasdf tail df head 说你有很长一段时间dict 而您只想检查某些元素 开头 结尾等 dict 就像是 dict head 3 To see the first 3
  • 有什么方法可以从seaborn小提琴图中得到迷你箱线图吗?

    我正在尝试绘制一系列很长的箱线图 我喜欢里面绘制的微型箱线图的美感小提琴情节 https seaborn pydata org generated seaborn violinplot html 通过seaborn violinplot 的
  • cv2.drawContours() - 取消填充字符内的圆圈(Python,OpenCV)

    根据 Silencer的建议 我使用了他发布的代码here https stackoverflow com questions 48244328 copy shape to blank canvas opencv python 482465
  • 字符串中的注释和注释中的字符串

    我正在尝试使用 Python 和 Regex 计算 C 代码中包含的注释中的字符数 但没有成功 我可以先删除字符串以删除字符串中的注释 但这也会删除注释中的字符串 结果会很糟糕 是否有机会通过使用正则表达式来询问不匹配注释中的字符串 反之亦
  • Python tkinter.filedialog Askfolder 干扰 clr

    我主要在 Spyder 中工作 构建需要弹出文件夹或文件浏览窗口的脚本 下面的代码在spyder中完美运行 在 Pycharm 中 askopenfilename工作良好 同时askdirectory什么都不做 卡住了 但是 如果在调试模式
  • 如何在Python中高效地添加稀疏矩阵

    我想知道如何在Python中有效地添加稀疏矩阵 我有一个程序 可以将大任务分解为子任务 并将它们分配到多个 CPU 上 每个子任务都会产生一个结果 一个 scipy 稀疏矩阵 格式为 lil matrix 稀疏矩阵尺寸为 100000x50
  • 根据 Pandas 中的列表对多列进行排序

    感谢有关如何根据 pandas 中的倍数列表对给定多列进行排序的任何提示 如下所示 import pandas as pd sort a a d e sort b s1 s3 s6 sort c t1 t2 t3 df pd DataFra
  • 将 numpy 代码点数组与字符串相互转换

    我有一个很长的 unicode 字符串 alphabet range 0x0FFF mystr join chr random choice alphabet for in range 100 mystr re sub W mystr 我想
  • 如何使用 javascript/jquery/AJAX 调用 Django REST API?

    我想使用 Javascript jQuery AJAX 在前端调用 Django Rest API 请求方法是 POST 但当我看到 API 调用它的调用 OPTIONS 方法时 所以 我开始了解access control allow o
  • CNTK 抱怨 LSTM 中的动态轴

    我正在尝试在 CNTK 中实现 LSTM 使用 Python 来对序列进行分类 Input 特征是固定长度的数字序列 时间序列 标签是 one hot 值的向量 Network input input variable input dim
  • 在相同任务上,Keras 比 TensorFlow 慢

    我正在使用 Python 运行斩首 DCNN 本例中为 Inception V3 来获取图像特征 我使用的是 Anaconda Py3 6 和 Windows7 使用 TensorFlow 时 我将会话保存在变量中 感谢 jdehesa 并
  • Python、subprocess、call()、check_call 和 returncode 来查找命令是否存在

    我已经弄清楚如何使用 call 让我的 python 脚本运行命令 import subprocess mycommandline lumberjack sleep all night work all day subprocess cal
  • Werkzeug 中的线程和本地代理。用法

    首先 我想确保我正确理解了功能的分配 分配本地代理功能以通过线程内的模块 包 共享变量 对象 我对吗 其次 用法对我来说仍然不清楚 也许是因为我误解了作业 我用烧瓶 如果我有两个 或更多 模块 A B 我想将对象C从模块A导入到模块B 但我
  • 从 python 检测 macOS 中的暗模式

    我正在编写一个 PyQt 应用程序 我必须添加一个补丁 以便在启用暗模式的 Macos 上可以读取字体 app QApplication Fix for the font colours on macos when running dark
  • 带有 RotatingFileHandler 的 Python 3 记录器超出 maxBytes 限制

    我使用以下代码来限制日志文件的大小 最小示例 import logging from logging handlers import RotatingFileHandler Set up logfile and message loggin
  • PIL - 需要抖动,但限制调色板会导致问题

    我是 Python 新手 正在尝试使用 PIL 来执行 Arduino 项目所需的解析任务 这个问题涉及到Image convert 方法以及调色板 抖动等选项 我有一些硬件能够一次仅显示 16 种颜色的图像 但它们可以指定为 RGB 三元
  • 从列表python的单个列表中删除子列表

    我已经经历过从列表列表中删除子列表 https stackoverflow com questions 47209786 removing sublists from a list of lists 但当我为我的数据集扩展它时 它不适用于我
  • Python问题:打开和关闭文件返回语法错误

    大家好 我发现了这个有用的 python 脚本 它允许我从网站获取一些天气数据 我将创建一个文件和其中的数据集 有些东西不起作用 它返回此错误 File

随机推荐

  • Google Visualization - 在事件表排序中,将特定行保留为第一个可见记录?

    当用户单击标题进行排序时 我希望标记为 总计 的行保持为可见的第一行 我可以捕获表排序事件 如下所示 google visualization events addListener table getChart sort function
  • 不可行的函数模板的类型推导

    In 他的回答 https stackoverflow com a 22259156 420683 to 这个问题 https stackoverflow com q 22258054 420683以及评论区 约翰内斯 绍布 https s
  • 使用 Blogger API v3 和 Python 插入博客文章草稿

    我正在尝试使用 Blogger Api v3 客户端库发布一篇文章 https developers google com blogger docs 3 0 libraries https developers google com blo
  • NSPredicate 和数组

    我有一个简短的问题 我有一个NSArray洋溢着Cars 继承自 NSObject Car有 property NSString engine 也被视为 synthesize 现在我想使用过滤数组NSPredicate predicate
  • Bootstrap 中的固定页脚

    我正在尝试引导程序 http getbootstrap com 我想知道 如果内容滚动 如何修复底部的页脚而不使其从页面上消失 要让页脚粘在视口底部 请给它一个固定位置 如下所示 footer position fixed height 1
  • Vue.js v-if 对变量变化没有反应

    我正在使用 vue js 并且在正确使用 v if 方面遇到了一些困难 我正在尝试在模板内渲染条件模板 在创建的方法中 变量isloaded设置为 true 这应该会导致模板重新呈现并让 正在加载数据 消息消失 然而 日志表明 2s 的延迟
  • 如何添加 .NET Framework 安装先决条件

    我在 Microsoft Visual Studio 中有一个 C Windows 窗体项目2017 我添加了 Visual Studio 安装程序安装向导项目来为我的应用程序创建安装程序 这是我第一次使用安装程序项目 安装程序正确地具有
  • 按复杂标准合并/连接 2 个 DataFrame

    我有 2 个大型数据集 每个数据集有 70K 到 110K 我想关联 比较两者 并根据某些条件 标准查找 set2 中的哪些项目可以在 set1 中找到 我当前的策略是按公共字段对两个列表进行排序 然后运行嵌套for循环 执行条件if测试
  • 在客户端用 JavaScript 逐行读取文件

    您能帮我解决以下问题吗 Goal 在客户端 通过 JS 和 HTML5 类在浏览器中 逐行读取文件 无需将整个文件加载到内存中 Scenario 我正在开发应该在客户端解析文件的网页 目前 我正在阅读本文件中描述的文件article htt
  • 如何在同一端口中运行 Angular 和 Node.JS Express?

    这可能是重复的问题 但无法理解如何配置 FE 和 BE 一起运行它们 我已经经历过this https stackoverflow com q 39845526 and this https stackoverflow com q 4678
  • 使用“from x import *”记录文件

    sphinx 的 automodule 和其他自动功能可用于记录包含以下内容的模块from x import 声明不包含导入模块的所有文档 编辑 根据mzjn的观点 只要导入的方法 module 属性与模块名称不同 不应记录它们 然而 对于
  • FBSDKLoginManager 代码从 Objective-C 到 swift

    任何人请帮助我如何将 FBSDKLoginManager 代码转换为快速编程提前感谢我附上 Objective C 中的代码 IBAction btnFacebookPressed id sender FBSDKLoginManager l
  • 使用二维动态分配字符串创建动态分配结构

    我正在尝试扫描字母网格 cases是字母网格的数量 r c是每个网格的行数和列数 我想我可以创建一个内部包含二维数组的结构数组 我已经为此工作了几个小时 但它仍然给我带来问题 警告 警告 C4477 12号线 scanf s 格式字符串 s
  • dexing时如何查找错误原因:MethodHandle.invoke和MethodHandle.invokeExact

    我有一个项目在 Android Studio 或 Gradle 中构建时开始抛出此错误 com android tools r8 ApiLevelException MethodHandle invoke and MethodHandle
  • 使用 PHPUnit 发送 POST 请求

    我有一个 symfony 网站 我正在尝试进行一些单元测试 我有这样的测试 我尝试提交一些东西
  • 忽略 BinaryFormatter 序列化中的非序列化属性

    我有一堂课叫User它是 Serializable 并继承自基类IdentityUser实体框架类且不可序列化 我有房产在Booking类与类型User and Booking类是Serializable我正在尝试使用序列化预订对象Bina
  • 边框半径被内部 div 隐藏

    我有一个 div 作为内容框 并在其中有另一个 div 作为标题 外部 div 设置了 border radius 但内部 div 隐藏了它 HTML div div This is the title div div CSS box he
  • `jcmd PID GC.class_histogram`会在收集数据之前调用完整GC吗?

    当我跑步时jcmd PID help GC heap dump 帮助中明确指出会调用full GC 除非 all指定标志 GC heap dump 影响 高 取决于 Java 堆大小和内容 除非指定了 all 选项 否则请求完整 GC al
  • 服务在短时间内(1分钟)后被终止

    我创建了一项服务 其工作是在用户关闭应用程序时清除通知 一切都运行得很好但是有时 当应用程序在后台运行超过 1 分钟时 服务就会被终止 这意味着通知不会被取消 为什么会发生这种情况 我认为停止服务的唯一方法是使用 stopSelf 或 st
  • 基于多索引 pandas 数据框使用 matplotlib 绘制误差条

    我在 pandas 中有以下数据框 gt gt gt name Hour trt level stress date value 0 D43 9 H control 2019 06 07 0 4561 1 D43 10 H control