使用索引和列作为 X、Y 以及值作为 Z 将 pandas DataFrame 转换为 3D 图表?

2024-02-24

我正在尝试使用 Pandas Dataframe 创建 3d 波动性表面,我觉得我拥有所有信息,但我不确定如何从中创建 3d 图表。我读过的每本指南似乎都使用 3 个独立的数组,但我觉得我拥有的数据应该是可图形化的。

我当前的数据框如下所示:

我希望我的 X 值是我的索引,Y 值是列名称(月份),Z 值是框架中包含的实际值(例如,第一行中的第一个值首先列...X = 35,Y = 9/20/2019,Z = 0.0879441)

   09/20/2019   10/18/2019  11/15/2019  12/20/2019  01/17/2020
35  0.0879441   0.0883913   0.0909429   0.0987415   0.0987912
40  0.0833955   0.0837764   0.087088    0.0939974   0.0943858
45  0.0788468   0.0810964   0.084231    0.0905135   0.0912521
50  0.0766043   0.0784164   0.0820014   0.0891319   0.0871471
55  0.0743284   0.0744855   0.0757832   0.0729094   0.068998
60  0.0612799   0.0664453   0.0758287   0.0729539   0.0690739
65  0.0613116   0.0664716   0.0655504   0.0622985   0.0630833

环顾四周后,我尝试模仿代码here https://jakevdp.github.io/PythonDataScienceHandbook/04.12-three-dimensional-plotting.html:特别是在单元格 5 和 6 中。下面是我的代码

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

X = my_dataframe.index

Y = my_dataframe.columns


def lookup(row, cols):
    return(my_dataframe.loc[x,y])

Z = lookup(x,y)


fig = plt.figure()
ax = plt.axes(projection = '3d')

ax.contour3D(X,Y,Z)

我基本上将 Z 定义为 X,Y 的函数,希望它能起作用,但无济于事,我收到一条错误消息:

Length of x must be number of columns in z

我在这里做错了什么? Fwiw我尝试使用链接中的 X,Y = np.meshgrid() 但这也不起作用,所以我发布了我最初的尝试。

编辑:根据一些评论的建议,我将代码更改为如下所示:

Y = my_dataframe.index

my_dataframe.columns = [1,2,3,4,5]

X = my_dataframe.columns


Z = my_dataframe.values

fig = plt.figure()
ax = plt.axes(projection = '3d')

ax.contour3D(X,Y, Z)

我将列从日期更改为仅数字,以确保它们是数字类型。我还将 Z 设置为等于数据帧的值。我现在收到一个新错误:

 setting an array element with a sequence.

这应该适用于:

在 google colab 上运行代码 https://colab.research.google.com/drive/1Nnxxemtuq_TIrL0iIcT7ZxpGYXD1JFrf?usp=sharing

import pandas as pd
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

d = {10: [1, 2], 20: [3, 4]}
my_dataframe = pd.DataFrame(data=d)
#  10  20
#  ------
#0  1   3
#1  2   4

X = my_dataframe.index

Y = my_dataframe.columns

Z = my_dataframe.values


fig = plt.figure()
ax = plt.axes(projection = '3d')

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

使用索引和列作为 X、Y 以及值作为 Z 将 pandas DataFrame 转换为 3D 图表? 的相关文章

  • 如何在Python中获得更精确的十进制值[重复]

    这个问题在这里已经有答案了 from math import sqrt a 1e 8 b 10 c 1e 8 x1 b sqrt b 2 4 a c 2 a x2 b sqrt b 2 4 a c 2 a print x1 format x
  • Python(openpyxl):将数据从一个excel文件转移到另一个(模板文件)并用另一个名称保存,同时保留模板

    我有一个templateexcel 文件名为template xlsx其中有许多张 我想从单独的地方复制数据 csv文件到第一页template xlsx 命名为data 并将新文件另存为result xlsx同时保留原来的模板文件 我想粘
  • BeautifulSoup 不适用于某些网站

    我有这个脚本 import urrlib2 from bs4 import BeautifulSoup url http www shoptop ru page urllib2 urlopen url read soup Beautiful
  • pandas:使用运算符链接过滤 DataFrame 的行

    大多数业务在pandas可以通过操作符链接来完成 groupby aggregate apply等 但我发现过滤行的唯一方法是通过普通的括号索引 df filtered df df column value 这没有吸引力 因为它需要我分配d
  • 如果新文件不存在则写入新文件,如果存在则追加到文件

    我有一个程序可以写入用户的highscore到一个文本文件 该文件由用户选择时命名playername 如果具有该特定用户名的文件已经存在 那么程序应该附加到该文件 以便您可以看到多个highscore 如果具有该用户名的文件不存在 例如
  • 如何在 django 表单中设置自定义 HTML 属性?

    我有一个 Django 表单 它是页面的一部分 假设我有一个字段 search input forms CharField u Search word required False 我只能通过模板访问它 form search input
  • django/whitenoise 存储后端导致错误

    我在调试关闭时在 heroku 上运行 django 应用程序时遇到了 500 错误 使用 rollbar 了解发生错误的原因后 它报告了以下内容 ValueError The file media img 1 jpg could not
  • Plotly - 不同颜色的表面

    我正在尝试在 Plotly for Python 中绘制多个曲面 每个曲面具有不同的颜色 具体来说 表面显示了在相空间中不同点采取行动的预测奖励函数 由于我在每个点都有多个可能的操作 因此每个点都是不同的表面 我想对每个表面进行独特的着色
  • 检查对象是否是字符串列表的列表?

    是什么elegant检查对象是否是字符串列表列表的方法 没有嵌套循环 也许这里必须是构造结构化迭代的常规方法 UPD 像这样的东西 l a b c d 1 3 e 2 f def recurse iterable levels result
  • ctypes.ArgumentError:不知道如何转换参数

    我在C库中定义了一个函数 如下所示 int Test char str1 int id1 char str2 float val float ls 我想在Python中使用它 所以我编写了以下Python代码 str1 a str2 b i
  • 如何读取 sql 查询到 pandas dataframe / python / django

    我在下面使用这个views py获取应用程序 from django db import connection def test request cursor connection cursor sql SELECT x n from ta
  • Altair 条形图具有可变宽度的条形?

    我正在尝试在 Python 中使用 Altair 制作条形图 其中条形的宽度根据源数据帧列中的数据而变化 最终目标是获得如下所示的图表 条形的高度对应于每种能源技术的边际成本 在源数据框中以列形式给出 条形宽度对应于每种能源技术的容量 也以
  • 如何在Python模拟中调用模拟方法

    我想创建一个模拟方法来调用被模拟的底层方法 我正在想象类似以下的内容 但我找不到任何有关模拟对象的文档 该对象包含对被模拟对象的引用 我将其表示为 wrapped method foo below from mock import patc
  • 如何在 PySide/PyQt 中制作一个位于屏幕中央的小部件?

    这段代码有效 但我想知道是否有更简单的方法 def center self qr self frameGeometry cp gui QDesktopWidget availableGeometry center qr moveCenter
  • 如何使用 Python Flask-Security 使用 bcrypt 加密密码?

    我正在尝试使用 Flask Security 文档中的标准基本示例 并使其正常工作 除了密码以明文形式存储之外 我知道这一行 user datastore create user email email protected cdn cgi
  • os.path.expanduser("~") 的替代方案?

    在Python 2 7 x中 os path expanduser Unicode 已损坏 这意味着如果 的扩展中包含非 ASCII 字符 则会出现异常 http bugs python org issue13207 http bugs p
  • 仅打印字符串中的元音

    我是Python新手 我正在尝试打印字符串中的所有元音 因此 如果有人输入 嘿 一切都好吗 所有元音都需要打印 但我不知道怎么做 所以这不是计算元音 而是打印元音 现在我已经得到了这个 sentence input Enter your s
  • 纯Python库读写jpeg格式

    伙计们 我正在寻找 jpeg 写入 阅读会很好 但不是必需的 库的纯 python 实现 我只在以下位置创建了 TonyJPEG 库端口 http mail python org pipermail image sig 2004 Novem
  • 从 s3 获取 ogg 轨道的长度而不下载整个文件

    如何在不下载整个文件的情况下获取 ogg 文件的播放长度 我知道这是可能的 因为 HTML5 标签和 VLC 都可以在加载 URL 后立即显示整个播放长度 而无需下载整个文件 有标题或我可以阅读的内容吗 也许甚至是比特率 我可以将其除以文件
  • vtkPythonAlgorithm 控制管道执行

    我正在尝试用 python 编写一个 vtk 过滤器ProjectDepthImage进行投影不是问题 它控制 vtk 管道的执行 基本上 我对 UserEvent 有一个回调 当用户在渲染窗口处于活动状态时按下 u 键时会触发该回调 这将

随机推荐

  • PHP 中子类的构造函数是否必须调用parent::__construct?

    是否必须从子类构造函数中调用父类的构造函数 为了解释 请考虑以下示例 class Parent function construct something is done here class Child extends Parent fun
  • 由于用户数据脚本,AWS 自动缩放启动未就绪的实例

    我有一个运行良好的自动缩放功能 带有一个启动配置 其中我定义了一个在新实例启动时执行的用户数据脚本 用户脚本更新基本代码并生成缓存 这需要几秒钟的时间 但是 一旦实例 创建 而不是 准备就绪 自动缩放就会将其添加到负载均衡器中 这是一个问题
  • 在现有 ASP.NET WebForms 站点中添加带有根路径的第二语言支持

    我继承了一个非常小的 ASP NET WebForms 项目 我的客户希望为其添加第二种语言 对于每个 somepage aspx 我想支持它的 第二语言路径 版本 例如 fr somepage aspx 我想使用正常的全球化 两种语言的
  • github.io 阻止了 ajax 请求

    我所有带有ajax请求的应用程序都返回错误 此请求已被阻止 内容必须通过 HTTPS 提供 例如 https zzharuk github io local weather widget https zzharuk github io lo
  • 在运行时合并两个程序集 - C#

    是否可以在运行时合并两个程序集 以便在迭代 ExportedTypes 时返回两个原始程序集中的所有类型 The why 我使用数据库迁移框架来更新我的数据库 它采用由特殊类组成的单个程序集 用于定义对数据库所做的修改 我有两个非常相似的数
  • 使用 git stash 时的 sh.exe.stackdump

    我是 Git 新手 对 stash 命令有疑问 当我编写 git stash git stash list git stash apply git drop 等命令时 我总是得到一个名为 sh exe stackdump 的文件 Excep
  • 带参数的 REST GET 动词

    我正在和我的队友一起阅读一些 REST 我们正在编写一个 RoR 应用程序 它将向世界其他地方公开它的一些功能 我在这个团队的任务是制作一个公开日记报告的资源 如果你打电话 http root com journalreports http
  • 如何确保curl 使用openssl,而不是nss?

    是否可以通过配置来保证parameter http curl haxx se docs manpage html that curl uses OpenSSL http www openssl org and not NSS http ww
  • 在 codeigniter 中启用 $_GET

    我一直在试图弄清楚如何在 CI 中启用 GET 看起来框架故意破坏了 GET 数组 并且启用它需要对核心类进行认真的修改 谁能说出这是为什么 以及如何克服它 请注意 我希望保持 URI 解析和路由的方式不变 只需让 GET 也可用即可 将以
  • Django - 使用 templatetags 渲染许多模板非常慢

    假设 我有一个带有照片库的页面 每个缩略图都有例如照片 国家 地区 作者等 我使用模板标签 加载指定的模板 渲染这些项目 小部件 由于 DRY 我在页面上的不同位置单独使用这些项目 小部件 所以会这样 而且速度非常慢 我使用 django
  • 如何使按钮可重复使用?

    我对编程世界还比较陌生 我对 HTML 和 CSS 有扎实的了解 最近又学习了 JavaScript 我正在开发一系列文本生成器作为学校项目 我的目标是能够在网站上单击一个按钮 并让计算机在每次单击该按钮时吐出随机文本 然而 虽然我对 HT
  • 在 httpContextAccessor.HttpContext 上返回 null

    我们重写 SaveChangesAsync 以自动更新 DateCreated CreatedBy LastDateModified 和 LastModifiedBy 对于CreatedBy和LastModifiedBt 我们需要Ident
  • 获取 Android Google Analytics 引荐来源网址标签

    我们计划使用 Google Analytics 来跟踪通过 Android Market 到我们的应用程序的广告点击推荐 根据谷歌文档 http code google com apis analytics docs mobile andr
  • 带有自定义标头的 Resttemplate GET 请求

    我需要发送带有标头的 GET 请求 Content Type application camiant msr v2 0 xml 我期望来自服务器的 XML 响应 我用 Postman 测试了请求和响应 一切都很好 但是当我尝试在春天这样做时
  • 密码哈希 PHP 7 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我目前正在学习 PHP 并且一直在论坛中查找有关如何最好地在 PHP 中对密码进行哈希处理的最新想法 任何人都可以建议目前最好使用的密码哈希方法
  • JSON 嵌套在 POJO 中

    我有一个 POJO 类 public class D private JSONObject profileData public JSONObject getProfileData return profileData public voi
  • 如何在 Eclipse Juno 中打开 OSGi 控制台?

    eclipse console 上面的命令在不同的窗口中打开 OSGi 控制台和 Eclipse IDE 是否有任何选项可以将 OSGi 控制台引入 Eclipse 的控制台视图中 您只需选择 主机 OSGi 控制台 http archiv
  • 使用 JUnit 进行单元测试时如何处理异常?

    如果一个方法抛出异常 如何编写测试用例来验证该方法实际上抛出了预期的异常 在最新版本的 JUnit 中 它是这样工作的 import org junit Rule import org junit Test import org junit
  • 迭代多维关联数组 PHP 中的每个键和值

    我刚刚了解了键 值对 我尝试寻找现有的答案 并尝试了解有关键 值对和关联数组的知识 尽管这有点太耗时了 我很难弄清楚如何迭代这个多维关联数组而不出现任何错误 arr array test1 gt array testing 1 1 gt a
  • 使用索引和列作为 X、Y 以及值作为 Z 将 pandas DataFrame 转换为 3D 图表?

    我正在尝试使用 Pandas Dataframe 创建 3d 波动性表面 我觉得我拥有所有信息 但我不确定如何从中创建 3d 图表 我读过的每本指南似乎都使用 3 个独立的数组 但我觉得我拥有的数据应该是可图形化的 我当前的数据框如下所示