当前位置: 首页 > 面试题库 >

在同一图中绘制不同的数据框

端木令
2023-03-14
问题内容

我有一个具有多年温度记录的温度文件,格式如下:

2012-04-12,16:13:09,20.6
2012-04-12,17:13:09,20.9
2012-04-12,18:13:09,20.6
2007-05-12,19:13:09,5.4
2007-05-12,20:13:09,20.6
2007-05-12,20:13:09,20.6
2005-08-11,11:13:09,20.6
2005-08-11,11:13:09,17.5
2005-08-13,07:13:09,20.6
2006-04-13,01:13:09,20.6

每年的记录数量和时间不同,因此熊猫的datetimeindices都不同。

我想在同一图中绘制不同年份的数据以进行比较。X轴为1月至12月,Y轴为温度。我应该怎么做呢?


问题答案:

尽管Chang的答案说明了如何在同一图形上多次绘制,但是在这种情况下,使用agroupbyunstacking可能会更好:

(假设您已经在数据框中使用了日期时间索引)

In [1]: df
Out[1]:
            value  
datetime                         
2010-01-01      1  
2010-02-01      1  
2009-01-01      1

# create additional month and year columns for convenience
df['Month'] = map(lambda x: x.month, df.index)
df['Year'] = map(lambda x: x.year, df.index)

In [5]: df.groupby(['Month','Year']).mean().unstack()
Out[5]:
       value      
Year    2009  2010
Month             
1          1     1
2        NaN     1

现在很容易绘制(每年作为单独的一行):

df.groupby(['Month','Year']).mean().unstack().plot()


 类似资料:
  • 我设法在一个图形上显示来自同一数据帧的两个散点图,并尝试将同一行中的点与图形上的一条线连接起来。任何人都可能知道我如何做到这一点?谢谢

  • 使用matplotlib时,我可以使用{importmatplotlib.pyplotas plt}因为我使用Tkinter,所以我也会使用PicreCanvasTkAgg来做同样的事情 有人能帮我在如何实现matplotlib的停顿效果在菲格勒CanvasTkAgg。

  • 通过使用matplotlib,我想绘制随时间变化的训练精度、验证精度、训练误差和验证误差。x轴是所有曲线的迭代次数。我想为精度值保留左x轴,为损耗值保留右y轴,然后在同一个图上绘制所有四个。 为了做到这一点,我尝试了几件事,最后我没有达到我想要的程度。 有人能帮我吗? 我的代码(没有按我的要求工作): 我想这样做(但我没有3条曲线,而是4条曲线)(我从这里拍摄图像:https://datascie

  • 我有一张桌子,比如: 生成虚拟数据: 我想用垫线 (v1.4) 在 Python 3 中完成一个任务: 绘制的直方图 按 两个小时,未能获得所需的直方图 我阅读了matplotlib的示例和用户指南。令人惊讶的是,我没有找到关于如何从颜色图中指定颜色的教程 我在谷歌上搜索过,但没有找到一个简洁的例子 我想一个人可以用,不导入一系列模块,例如,

  • 问题内容: 我对SQL Server不太满意,但是我试图在后台做一些工作来创建我们的EMR系统所缺乏的某些功能-在患者之间复制表格(及其所有数据)。 在SQL Server 2008 R2中,我有三个表来处理已填写的这些表格: 如您所见,它们都与match_id匹配,后者被链接到Patient_id(在第一张表中)。 我想要做的是将这三个表中所有的行复制为一个特定的match_id,重新复制到它们

  • 我有一个简单的代码,它在两个不同的图(图1和图2)中绘制了完全相同的东西。然而,我必须写一行ax?。绘制(x,y)两次,一次用于ax1,一次用于ax2。我怎么可能只有一个plot表达式(对于我更复杂的代码来说,有多个redondant表达式可能是一个麻烦的来源)。类似于ax1、ax2。绘图(x,y)?