热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

绘制pandas时间序列时出错,如果日期有时区

如何解决《绘制pandas时间序列时出错,如果日期有时区》经验,应该怎么弄,您有好建议吗?

我有一个Pandas TimeSeries,其中日期有一个特定的时区.

import pandas as pd
dates = pd.date_range('2014-11-01T00:00:00+0100', periods=100, freq='D')
events = pd.Series(np.random.randint(5, 500, 100), index=dates)

当我想用它绘图时events.plot(),我得到以下问题:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
 in ()
----> 1 events.plot()

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in plot_series(data, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)
   2509                  yerr=yerr, xerr=xerr,
   2510                  label=label, secondary_y=secondary_y,
-> 2511                  **kwds)
   2512 
   2513 

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in _plot(data, x, y, subplots, ax, kind, **kwds)
   2315         plot_obj = klass(data, subplots=subplots, ax=ax, kind=kind, **kwds)
   2316 
-> 2317     plot_obj.generate()
   2318     plot_obj.draw()
   2319     return plot_obj.result

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in generate(self)
    921         self._compute_plot_data()
    922         self._setup_subplots()
--> 923         self._make_plot()
    924         self._add_table()
    925         self._make_legend()

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in _make_plot(self)
   1586         self._initialize_prior(len(self.data))
   1587 
-> 1588         if self._is_ts_plot():
   1589             data = self._maybe_convert_index(self.data)
   1590             x = data.index      # dummy, not used

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in _is_ts_plot(self)
   1581     def _is_ts_plot(self):
   1582         # this is slightly deceptive
-> 1583         return not self.x_compat and self.use_index and self._use_dynamic_x()
   1584 
   1585     def _make_plot(self):

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in _use_dynamic_x(self)
   1577                 return False
   1578 
-> 1579         return (freq is not None) and self._is_dynamic_freq(freq)
   1580 
   1581     def _is_ts_plot(self):

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in _is_dynamic_freq(self, freq)
   1551             freq = frequencies.get_base_alias(freq)
   1552         freq = frequencies.get_period_alias(freq)
-> 1553         return freq is not None and self._no_base(freq)
   1554 
   1555     def _no_base(self, freq):

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tools/plotting.py in _no_base(self, freq)
   1561             x = self.data.index
   1562             if (base <= frequencies.FreqGroup.FR_DAY):
-> 1563                 return x[:1].is_normalized
   1564 
   1565             return Period(x[0], freq).to_timestamp(tz=x.tz) == x[0]

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/lib.cpython-34m.so in pandas.lib.cache_readonly.__get__ (pandas/lib.c:40766)()

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tseries/index.py in is_normalized(self)
   1481         Returns True if all of the dates are at midnight ("no time")
   1482         """
-> 1483         return tslib.dates_normalized(self.asi8, self.tz)
   1484 
   1485     @cache_readonly

/home/kilik/.virtualenvs/data_analysis3/local/lib/python3.4/site-packages/pandas/tslib.cpython-34m.so in pandas.tslib.dates_normalized (pandas/tslib.c:58465)()

AttributeError: '_FixedOffset' object has no attribute '_transition_info'

这必须是时区的问题.当我替换掉时区时dates = pd.date_range('2014-11-01T00:00:00', periods=100, freq='D'),events.plot()生成一个没有问题的漂亮图表.

我可以通过这样做轻松解决它dates = dates.tz_convert("UTC"),但有更自然的方法吗?

谢谢


推荐阅读
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 本文深入探讨了CGLIB BeanCopier在Bean对象复制中的应用及其优化技巧。相较于Spring的BeanUtils和Apache的BeanUtils,CGLIB BeanCopier在性能上具有显著优势。通过详细分析其内部机制和使用场景,本文提供了多种优化方法,帮助开发者在实际项目中更高效地利用这一工具。此外,文章还讨论了CGLIB BeanCopier在复杂对象结构和大规模数据处理中的表现,为读者提供了实用的参考和建议。 ... [详细]
  • 本文探讨了基于点集估算图像区域的Alpha形状算法在Python中的应用。通过改进传统的Delaunay三角剖分方法,该算法能够生成更加灵活和精确的形状轮廓,避免了单纯使用Delaunay三角剖分时可能出现的过大三角形问题。这种“模糊Delaunay三角剖分”技术不仅提高了形状的准确性,还增强了对复杂图像区域的适应能力。 ... [详细]
  • 在开发C#应用程序时,若需在PictureBox控件中实现图像的动态旋转功能,如模拟时钟的指针每秒旋转6度,可以通过调整图像的变换矩阵来达成。本文详细介绍了如何利用GDI+图形库中的旋转方法,结合定时器控件,实现平滑且高效的图像旋转效果,适用于需要精确控制图像显示角度的场景。 ... [详细]
  • 本文详细介绍了 Pentaho Kettle 中 RowMetaInterface.writeMeta 方法的使用,并提供了多个代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 思科IOS XE与ISE集成实现TACACS认证配置
    本文详细介绍了如何在思科IOS XE设备上配置TACACS认证,并通过ISE(Identity Services Engine)进行用户管理和授权。配置包括网络拓扑、设备设置和ISE端的具体步骤。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
author-avatar
少少_LV
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有