Pandas 和 Matplotlib - fill_ Between() 与 datetime64

2024-01-03

有一个 Pandas 数据框:

<class 'pandas.core.frame.DataFrame'>
Int64Index: 300 entries, 5220 to 5519
Data columns (total 3 columns):
Date             300 non-null datetime64[ns]
A                300 non-null float64
B                300 non-null float64
dtypes: datetime64[ns](1), float64(2)
memory usage: 30.5 KB

我想绘制 A 和 B 系列与日期的关系图。

plt.plot_date(data['Date'], data['A'], '-')
plt.plot_date(data['Date'], data['B'], '-')

然后我想在 A 和 B 系列之间的区域应用 fill_ Between() :

plt.fill_between(data['Date'], data['A'], data['B'],
                where=data['A'] >= data['B'],
                facecolor='green', alpha=0.2, interpolate=True)

哪个输出:

TypeError: ufunc 'isfinite' not supported for the input types, and the inputs
could not be safely coerced to any supported types according to the casting 
rule ''safe''

matplotlib 是否接受 pandas datetime64 对象fill_between()功能?我应该将其转换为不同的日期类型吗?


Pandas 注册一个转换器 https://github.com/pydata/pandas/blob/master/pandas/tseries/converter.py#L27 in matplotlib.units.registry它转换许多日期时间类型(例如 pandas DatetimeIndex 和 dtype 的 numpy 数组)datetime64)到 matplotlib datenums,但它不处理 PandasSeries与数据类型datetime64.

In [67]: import pandas.tseries.converter as converter

In [68]: c = converter.DatetimeConverter()

In [69]: type(c.convert(df['Date'].values, None, None))
Out[69]: numpy.ndarray              # converted (good)

In [70]: type(c.convert(df['Date'], None, None))
Out[70]: pandas.core.series.Series  # left unchanged

fill_between检查并使用转换器来处理数据(如果存在)。

因此,作为解决方法,您可以将日期转换为 NumPy 数组datetime64's:

d = data['Date'].values
plt.fill_between(d, data['A'], data['B'],
                where=data['A'] >= data['B'],
                facecolor='green', alpha=0.2, interpolate=True)

例如,

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

N = 300
dates = pd.date_range('2000-1-1', periods=N, freq='D')
x = np.linspace(0, 2*np.pi, N)
data = pd.DataFrame({'A': np.sin(x), 'B': np.cos(x),
               'Date': dates})
plt.plot_date(data['Date'], data['A'], '-')
plt.plot_date(data['Date'], data['B'], '-')

d = data['Date'].values
plt.fill_between(d, data['A'], data['B'],
                where=data['A'] >= data['B'],
                facecolor='green', alpha=0.2, interpolate=True)
plt.xticks(rotation=25)
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 和 Matplotlib - fill_ Between() 与 datetime64 的相关文章

  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 如何替换 therubyracer javascript 运行时

    我该如何更换therubyracer宝石 我真的被困住了 我们一直在使用therubyracer我们的 Rails 资产管道的 gem 然而 它使用的依赖项已经过期并且存在安全漏洞 最新版本0 12 3是从 2017 年 1 月 5 日开始
  • 在电脑上未安装python的情况下运行python脚本

    我创建了一些数据处理脚本 它们需要每天执行 但是PC的数量接近150台 我无法在所有PC上手动安装Python 所以我需要一种方法让这些在这些 Windows 系统上工作 我尝试使用 PyInstaller 创建 exe 并将其放置在服务器
  • 自动完成内的 InputLabelProps 不受尊重

    我正在尝试使标签在内部可供选择和复制Autocomplete组件通过设置InputLabelProps sx userSelect text inside renderInput 理想情况下 我希望可以单击或双击来选择标签文本 export
  • 访问 Silverlight DataTemplate 内的元素

    尽管已经有一些相关问题 但我无法找到以下问题的干净解决方案 如果我有一个被多次使用的数据模板 例如 TreeViewItem Header 模板 我如何才能仅更改某些 TreeView 项目的模板 例如 假设我的 TVI HeaderTem
  • 处理证书时发生未知错误

    我有一个自签名证书 我想在我的 websockets 服务器上使用它来处理来自 wss localhost 443 的请求 我从任何网络浏览器连接到服务器 但是 我似乎无法正确进行身份验证 每次我尝试通过 Advanced Rest Cli
  • Play Framework 2.2.1 (Java) 中的 AspectJ

    我想将 AspectJ Weaving 包含在 Play 2 2 1 项目中 我只找到一个答案解释如何将 AspectJ 添加到 Play 2 1 1 项目 https stackoverflow com a 16606135 346421
  • 如何在 UIAlertView 中对齐消息?

    我想知道如何设置警报视图的委托消息的对齐方式 任何人都有解决方案 请回复一些代码 这只是之前答案的稍微简化版本 但我喜欢保持简单 for UIView view in alert subviews if view class isSubcl
  • iPhone 5 及以下版本应用程序崩溃

    我发布了一个简单的游戏 可以在 iPhone 5s 6 6s 和 iPad 上正常运行 但当在 iPhone 5 5c 4S 或 4 上运行时 应用程序会在出现以下代码时崩溃 let delay Int arc4random uniform
  • Junit 断言双数组

    我如何断言两个数组doubles 包含相同的元素 有一些方法可以断言整数数组和其他基本类型包含相同的元素 但不适用于doubles JUnit 4 12 有 实际上它已经是 4 6 的一部分 这是 github 上可用的最旧版本 org j
  • 如何查明特定设备是否支持 SIM 硬件?

    我想根据 SIM 硬件是否存在来禁用我的应用程序中与 CALL 和 SMS 相关的功能 现在 初学者的方法是使用以下命令检查电话类型 if telephonyManager1 getPhoneType TelephonyManager PH
  • 使用带有 fields_for 的数组

    如何使用 fields for 迭代对象数组 全部相同模型 该数组包含由 current user 创建的对象 我目前有 p class fields p
  • 如何解决错误:在此服务器上找不到请求的地址 - CakePHP

    我在我的项目中使用 CakePHP 2 X 但陷入了困境 首先让你知道我使用表单实现了搜索功能POST方法 但为此我发现分页错误 过滤器将不支持下一页 所以我将表单方法更改为GET 现在工作正常 不完全是我所需要的 所有请求的数据都显示在
  • 将非拥有窗口始终设置在顶部 - 就像应用程序“Afloat”

    我设置了一个全局热键RegisterEventHotkey 当用户按下它时 它会获取当前聚焦的窗口CGWindowListCopyWindowInfo 然后我需要将它始终设置在顶部 如果当前窗口在我的进程中 我正在从中执行代码 我可以简单地
  • React 和 Material UI:如何只扩展一张卡

    我使用 React 和 Material UI 来显示一些映射的卡片 当我尝试扩展一张卡时 所有卡都会同时扩展 我发现我必须在 handleExpandClick 函数中传递一个索引 但仍然不起作用 也许我犯了某种错字 我发现这个问题单击展
  • 后台进程的 cy.exec 超时

    我正在尝试使用启动服务器cy exec并像这样后台处理 cy exec nohup python m my module arg 1 failOnNonZeroExit false then result gt if result code
  • 如何防止密码和其他敏感信息出现在 ASP.NET 转储中?

    如何防止在 IIS ASP NET 转储文件中向 ASP NET 网页提交和接收密码和其他敏感数据 重现步骤 使用 Visual Studio 2010 创建 ASP NET MVC 3 Intranet 应用程序 将其配置为使用 IIS
  • Spring嵌套事务

    在我的 Spring Boot 项目中 我实现了以下服务方法 Transactional public boolean validateBoard Board board boolean result false if inProgress
  • 更新更改 svn 时出错

    我安装了 PHPStorm 并使用 SVN 打开包含 PHP 项目的目录 在 更改 的 SVN 选项卡下 我遇到以下错误 Error updating changes svn E155021 The client is too old to
  • Spring JPA Repository - 在服务器重启时保留数据

    我目前正在尝试学习如何使用 Spring Boot 但遇到一个问题 我不确定如何解决 我已经按照使用 JPA 访问数据 http spring io guides gs accessing data jpa 指导 一切正常 但是 如果我重新
  • Pandas 和 Matplotlib - fill_ Between() 与 datetime64

    有一个 Pandas 数据框