在面板中绘制不同数据帧的同一列

2024-01-06

我从模拟中获得了数据,该数据为我提供了存储在 DataFrame 中的一些值(100 行 x 6 列)。对于不同的起始值,我将数据保存在面板中(2 个数据框 x 100 行 x 6 列)。

现在我想比较两个模拟中名为“A”的列(名为“Sim1”和“Sim2”的 DataFrame)的比较方式,一种方法是通过 DataFrame.plot 命令

Panel['Sim1'].plot(x = 'xvalues', y='A')
Panel['Sim2'].plot(x = 'xvalues', y='A')
plt.show()

这是可行的,但我觉得它应该可以像 da 数据在同一个 DataFrame 中一样进行绘制,我可以像这样绘制

DataFrame.plot(x = 'xvalues', y = ['A1', 'A2'])

我是否遗漏了一些东西,或者如果数据存储在面板中,是否不可能用一个命令简单地将两个图绘制成一张图?


考虑以下示例:

In [77]: import pandas_datareader.data as web

In [78]: p = web.DataReader(['AAPL','GOOGL'], 'yahoo', '2017-01-01')

In [79]: p.axes
Out[79]:
[Index(['Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close'], dtype='object'),
 DatetimeIndex(['2017-01-03', '2017-01-04', '2017-01-05', '2017-01-06', '2017-01-09', '2017-01-10', '2017-01-11', '2017-01-12',
                '2017-01-13', '2017-01-17', '2017-01-18', '2017-01-19', '2017-01-20', '2017-01-23', '2017-01-24', '2017-01-25',
                '2017-01-26', '2017-01-27', '2017-01-30', '2017-01-31', '2017-02-01', '2017-02-02', '2017-02-03', '2017-02-06',
                '2017-02-07', '2017-02-08', '2017-02-09', '2017-02-10', '2017-02-13', '2017-02-14', '2017-02-15', '2017-02-16',
                '2017-02-17', '2017-02-21', '2017-02-22', '2017-02-23', '2017-02-24', '2017-02-27', '2017-02-28', '2017-03-01',
                '2017-03-02', '2017-03-03', '2017-03-06', '2017-03-07', '2017-03-08', '2017-03-09', '2017-03-10', '2017-03-13',
                '2017-03-14', '2017-03-15', '2017-03-16', '2017-03-17', '2017-03-20', '2017-03-21', '2017-03-22', '2017-03-23',
                '2017-03-24', '2017-03-27', '2017-03-28', '2017-03-29', '2017-03-30', '2017-03-31', '2017-04-03', '2017-04-04',
                '2017-04-05', '2017-04-06', '2017-04-07', '2017-04-10', '2017-04-11', '2017-04-12', '2017-04-13', '2017-04-17',
                '2017-04-18', '2017-04-19', '2017-04-20', '2017-04-21'],
               dtype='datetime64[ns]', name='Date', freq=None),
 Index(['AAPL', 'GOOGL'], dtype='object')]

In [80]: p.loc['Adj Close']
Out[80]:
                  AAPL       GOOGL
Date
2017-01-03  115.648597  808.010010
2017-01-04  115.519154  807.770020
2017-01-05  116.106611  813.020020
2017-01-06  117.401002  825.210022
2017-01-09  118.476334  827.179993
2017-01-10  118.595819  826.010010
2017-01-11  119.233055  829.859985
2017-01-12  118.735214  829.530029
2017-01-13  118.526121  830.940002
2017-01-17  119.481976  827.460022
...                ...         ...
2017-04-07  143.339996  842.099976
2017-04-10  143.169998  841.700012
2017-04-11  141.630005  839.880005
2017-04-12  141.800003  841.460022
2017-04-13  141.050003  840.179993
2017-04-17  141.830002  855.130005
2017-04-18  141.199997  853.989990
2017-04-19  140.679993  856.510010
2017-04-20  142.440002  860.080017
2017-04-21  142.270004  858.950012

[76 rows x 2 columns]

plot it

In [81]: p.loc['Adj Close'].plot()
Out[81]: <matplotlib.axes._subplots.AxesSubplot at 0xdabfda0>

示例面板的不同切片/索引/选择示例:

In [118]: p
Out[118]:
<class 'pandas.core.panel.Panel'>
Dimensions: 6 (items) x 76 (major_axis) x 2 (minor_axis)
Items axis: Open to Adj Close
Major_axis axis: 2017-01-03 00:00:00 to 2017-04-21 00:00:00
Minor_axis axis: AAPL to GOOGL

按项目轴(索引):

In [119]: p.loc['Adj Close']
Out[119]:
                  AAPL       GOOGL
Date
2017-01-03  115.648597  808.010010
2017-01-04  115.519154  807.770020
2017-01-05  116.106611  813.020020
2017-01-06  117.401002  825.210022
2017-01-09  118.476334  827.179993
2017-01-10  118.595819  826.010010
2017-01-11  119.233055  829.859985
2017-01-12  118.735214  829.530029
2017-01-13  118.526121  830.940002
2017-01-17  119.481976  827.460022
...                ...         ...
2017-04-07  143.339996  842.099976
2017-04-10  143.169998  841.700012
2017-04-11  141.630005  839.880005
2017-04-12  141.800003  841.460022
2017-04-13  141.050003  840.179993
2017-04-17  141.830002  855.130005
2017-04-18  141.199997  853.989990
2017-04-19  140.679993  856.510010
2017-04-20  142.440002  860.080017
2017-04-21  142.270004  858.950012

[76 rows x 2 columns]

按主轴:

In [120]: p.loc[:, '2017-01-03']
Out[120]:
             Open        High         Low       Close      Volume   Adj Close
AAPL   115.800003  116.330002  114.760002  116.150002  28781900.0  115.648597
GOOGL  800.619995  811.440002  796.890015  808.010010   1959000.0  808.010010

按短轴:

In [121]: p.loc[:, :, 'GOOGL']
Out[121]:
                  Open        High         Low       Close     Volume   Adj Close
Date
2017-01-03  800.619995  811.440002  796.890015  808.010010  1959000.0  808.010010
2017-01-04  809.890015  813.429993  804.109985  807.770020  1515300.0  807.770020
2017-01-05  807.500000  813.739990  805.919983  813.020020  1340500.0  813.020020
2017-01-06  814.989990  828.960022  811.500000  825.210022  2017100.0  825.210022
2017-01-09  826.369995  830.429993  821.619995  827.179993  1406800.0  827.179993
2017-01-10  827.070007  829.409973  823.140015  826.010010  1194500.0  826.010010
2017-01-11  826.619995  829.900024  821.469971  829.859985  1320200.0  829.859985
2017-01-12  828.380005  830.380005  821.010010  829.530029  1349500.0  829.530029
2017-01-13  831.000000  834.650024  829.520020  830.940002  1288000.0  830.940002
2017-01-17  830.000000  830.179993  823.200012  827.460022  1439700.0  827.460022
...                ...         ...         ...         ...        ...         ...
2017-04-07  845.000000  845.880005  837.299988  842.099976  1110000.0  842.099976
2017-04-10  841.539978  846.739990  840.789978  841.700012  1021200.0  841.700012
2017-04-11  841.700012  844.630005  834.599976  839.880005   971900.0  839.880005
2017-04-12  838.460022  843.719971  837.590027  841.460022  1126100.0  841.460022
2017-04-13  841.039978  843.729980  837.849976  840.179993  1067200.0  840.179993
2017-04-17  841.380005  855.640015  841.030029  855.130005  1044800.0  855.130005
2017-04-18  852.539978  857.390015  851.250000  853.989990   935200.0  853.989990
2017-04-19  857.390015  860.200012  853.530029  856.510010  1077500.0  856.510010
2017-04-20  859.739990  863.929993  857.500000  860.080017  1186900.0  860.080017
2017-04-21  860.619995  862.440002  857.729980  858.950012  1168200.0  858.950012

[76 rows x 6 columns]

根据您的情况(取决于您的轴),您可能希望以不同的方式对面板进行切片:

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

在面板中绘制不同数据帧的同一列 的相关文章

  • 从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)

    我已经查看了很多问题 但仍然无法完全弄清楚 我正在使用 PyQt 并且希望能够运行ffmpeg i file mp4 file avi并获取流式输出 以便我可以创建进度条 我看过这些问题 ffmpeg可以显示进度条吗 https stack
  • 通过列表理解压平列表列表

    我正在尝试使用 python 中的列表理解来展平列表 我的清单有点像 1 2 3 4 5 6 7 8 只是为了打印这个列表列表中的单个项目 我编写了这个函数 def flat listoflist for item in listoflis
  • 将数据帧行转换为字典

    我有像下面的示例数据这样的数据帧 我正在尝试将数据帧中的一行转换为类似于下面所需输出的字典 但是当我使用 to dict 时 我得到了索引和列值 有谁知道如何将行转换为像所需输出那样的字典 任何提示都非常感激 Sample data pri
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 以同步方式使用 FastAPI,如何获取 POST 请求的原始正文?

    在中使用 FastAPIsync not async模式 我希望能够接收 POST 请求的原始 未更改的正文 我能找到的所有例子都显示async代码 当我以正常同步方式尝试时 request body 显示为协程对象 当我通过发布一些内容来
  • 在Python中调整图像大小

    我有一张尺寸为 288 352 的图像 我想将其大小调整为 160 240 我尝试了以下代码 im imread abc png img im resize 160 240 Image ANTIALIAS 但它给出了一个错误TypeErro
  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • 将 JSON 对象传递给带有请求的 url

    所以 我想利用 Kenneth 的优秀请求模块 https github com kennethreitz requests 在尝试使用时偶然发现了这个问题自由库API http wiki freebase com wiki API 基本上
  • 在 pytube3 中获取 youtube 视频的标题?

    我正在尝试构建一个应用程序来使用 python 下载 YouTube 视频pytube3 但我无法检索视频的标题 这是我的代码 from pytube import YouTube yt YouTube link print yt titl
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 使用 PyTorch 分布式 NCCL 连接失败

    我正在尝试使用 torch distributed 将 PyTorch 张量从一台机器发送到另一台机器 dist init process group 函数正常工作 但是 dist broadcast 函数中出现连接失败 这是我在节点 0
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望
  • 当鼠标悬停在上面时,intellisense vscode 不显示参数或文档

    我正在尝试将整个工作流程从 Eclipse 和 Jupyter Notebook 迁移到 VS Code 我安装了 python 扩展 它应该带有 Intellisense 但它只是部分更糟糕 我在输入句点后收到建议 但当将鼠标悬停在其上方
  • 检查字典键是否有空值

    我有以下字典 dict1 city name yass region zipcode phone address tehsil planet mars 我正在尝试创建一个基于 dict1 的新字典 但是 它不会包含带有空字符串的键 它不会包
  • Python 无法使用套接字绑定我的外部/公共 IP 地址,给出错误但是当使用本地 IP 地址时,错误不会显示

    这是出现主要错误的代码 与我的本地 IP 的绑定将起作用 s bind 192 168 1 4 port 与我的公共 IP 的绑定失败并出现以下错误 s bind 99 99 99 99 port WinError 10049 请求的地址在
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐