我正在学习’pandas’并尝试绘制id列,但我得到一个错误AttributeError:未知属性color_cycle和空图.该图仅显示在交互式
shell中.当我作为脚本执行时,我得到相同的错误,除了图形没有出现.
以下是日志:
>>> import pandas as pd >>> pd.set_option('display.mpl_style','default') >>> df = pd.read_csv('2015.csv',parse_dates=['log_date']) >>> employee_198 = df[df['employee_id'] == 198] >>> print(employee_198) id version company_id early_minutes employee_id late_minutes \ 90724 91635 0 1 NaN 198 NaN 90725 91636 0 1 NaN 198 0:20:00 90726 91637 0 1 0:20:00 198 NaN 90727 91638 0 1 0:05:00 198 NaN 90728 91639 0 1 0:25:00 198 NaN 90729 91640 0 1 0:15:00 198 0:20:00 90730 91641 0 1 NaN 198 0:15:00 90731 91642 0 1 NaN 198 NaN 90732 91643 0 1 NaN 198 NaN 90733 91644 0 1 NaN 198 NaN 90734 91645 0 1 NaN 198 NaN 90735 91646 0 1 NaN 198 NaN 90736 91647 0 1 NaN 198 NaN 90737 91648 0 1 NaN 198 NaN 90738 91649 0 1 NaN 198 NaN 90739 91650 0 1 NaN 198 0:10:00 90740 91651 0 1 NaN 198 NaN 90741 91652 0 1 NaN 198 NaN 90742 91653 0 1 NaN 198 NaN 90743 91654 0 1 NaN 198 NaN 90744 91655 0 1 NaN 198 NaN 90745 91656 0 1 NaN 198 NaN 90746 91657 0 1 1:30:00 198 NaN 90747 91658 0 1 0:04:25 198 NaN 90748 91659 0 1 NaN 198 NaN 90749 91660 0 1 NaN 198 NaN 90750 91661 0 1 NaN 198 NaN 90751 91662 0 1 NaN 198 NaN 90752 91663 0 1 NaN 198 NaN 90753 91664 0 1 NaN 198 NaN 90897 91808 0 1 NaN 198 0:04:14 91024 91935 0 1 NaN 198 0:21:43 91151 92062 0 1 NaN 198 0:42:07 91278 92189 0 1 NaN 198 0:16:36 91500 92411 0 1 NaN 198 0:07:12 91532 92443 0 1 NaN 198 NaN 91659 92570 0 1 NaN 198 0:53:03 91786 92697 0 1 NaN 198 NaN 91913 92824 0 1 NaN 198 NaN 92040 92951 0 1 NaN 198 NaN 92121 93032 0 1 4:22:35 198 NaN 92420 93331 0 1 NaN 198 NaN 92421 93332 0 1 NaN 198 3:51:15 log_date log_in_time log_out_time over_time remarks \ 90724 2015-11-15 No In No Out NaN [Absent] 90725 2015-10-18 10:00:00 17:40:00 NaN NaN 90726 2015-10-19 9:20:00 17:10:00 NaN NaN 90727 2015-10-25 9:30:00 17:25:00 NaN NaN 90728 2015-10-26 9:34:00 17:05:00 NaN NaN 90729 2015-10-27 10:00:00 17:15:00 NaN NaN 90730 2015-10-28 9:55:00 17:30:00 NaN NaN 90731 2015-10-29 9:40:00 17:30:00 NaN NaN 90732 2015-10-30 9:00:00 17:30:00 0:30:00 NaN 90733 2015-10-20 No In No Out NaN [Absent] 90734 2015-10-21 No In No Out NaN [Maha Asthami] 90735 2015-10-22 No In No Out NaN [Nawami/Dashami] 90736 2015-10-23 No In No Out NaN [Absent] 90737 2015-10-24 No In No Out NaN [Off] 90738 2015-11-01 9:15:00 17:30:00 0:15:00 NaN 90739 2015-11-02 9:50:00 17:30:00 NaN NaN 90740 2015-11-03 9:30:00 17:30:00 NaN NaN 90741 2015-11-04 9:40:00 17:30:00 NaN NaN 90742 2015-11-05 9:38:00 17:30:00 NaN NaN 90743 2015-11-06 9:30:00 17:30:00 NaN NaN 90744 2015-11-08 9:30:00 17:30:00 NaN NaN 90745 2015-11-09 9:30:00 17:30:00 NaN NaN 90746 2015-11-10 9:30:00 16:00:00 NaN NaN 90747 2015-11-16 9:30:00 17:25:35 NaN NaN 90748 2015-11-07 No In No Out NaN [Off] 90749 2015-11-11 No In No Out NaN [Laxmi Puja] 90750 2015-11-12 No In No Out NaN [Govardhan Puja] 90751 2015-11-13 No In No Out NaN [Bhai Tika] 90752 2015-11-14 No In No Out NaN [Off] 90753 2015-10-31 No In No Out NaN [Off] 90897 2015-11-17 9:44:14 17:35:01 NaN NaN 91024 2015-11-18 10:01:43 17:36:29 NaN NaN 91151 2015-11-19 10:22:07 17:43:47 NaN NaN 91278 2015-11-20 9:56:36 17:37:00 NaN NaN 91500 2015-11-22 9:47:12 17:46:44 NaN NaN 91532 2015-11-21 No In No Out NaN [Off] 91659 2015-11-23 10:33:03 17:30:00 NaN NaN 91786 2015-11-24 9:34:11 17:32:24 NaN NaN 91913 2015-11-25 9:36:05 17:35:00 NaN NaN 92040 2015-11-26 9:35:39 17:58:05 0:22:26 NaN 92121 2015-11-27 9:08:45 13:07:25 NaN NaN 92420 2015-11-28 No In No Out NaN [Off] 92421 2015-11-29 13:31:15 17:34:44 NaN NaN shift_in_time shift_out_time work_time under_time 90724 9:30:00 17:30:00 NaN NaN 90725 9:30:00 17:30:00 7:40:00 0:20:00 90726 9:30:00 17:30:00 7:50:00 0:10:00 90727 9:30:00 17:30:00 7:55:00 0:05:00 90728 9:30:00 17:30:00 7:31:00 0:29:00 90729 9:30:00 17:30:00 7:15:00 0:45:00 90730 9:30:00 17:30:00 7:35:00 0:25:00 90731 9:30:00 17:30:00 7:50:00 0:10:00 90732 9:30:00 17:30:00 8:30:00 NaN 90733 9:30:00 17:30:00 NaN NaN 90734 9:30:00 17:30:00 NaN NaN 90735 9:30:00 17:30:00 NaN NaN 90736 9:30:00 17:30:00 NaN NaN 90737 9:30:00 17:30:00 NaN NaN 90738 9:30:00 17:30:00 8:15:00 NaN 90739 9:30:00 17:30:00 7:40:00 0:20:00 90740 9:30:00 17:30:00 8:00:00 NaN 90741 9:30:00 17:30:00 7:50:00 0:10:00 90742 9:30:00 17:30:00 7:52:00 0:08:00 90743 9:30:00 17:30:00 8:00:00 NaN 90744 9:30:00 17:30:00 8:00:00 NaN 90745 9:30:00 17:30:00 8:00:00 NaN 90746 9:30:00 17:30:00 6:30:00 1:30:00 90747 9:30:00 17:30:00 7:55:35 0:04:25 90748 9:30:00 17:30:00 NaN NaN 90749 9:30:00 17:30:00 NaN NaN 90750 9:30:00 17:30:00 NaN NaN 90751 9:30:00 17:30:00 NaN NaN 90752 9:30:00 17:30:00 NaN NaN 90753 9:30:00 17:30:00 NaN NaN 90897 9:30:00 17:30:00 7:50:47 0:09:13 91024 9:30:00 17:30:00 7:34:46 0:25:14 91151 9:30:00 17:30:00 7:21:40 0:38:20 91278 9:30:00 17:30:00 7:40:24 0:19:36 91500 9:30:00 17:30:00 7:59:32 0:00:28 91532 9:30:00 17:30:00 NaN NaN 91659 9:30:00 17:30:00 6:56:57 1:03:03 91786 9:30:00 17:30:00 7:58:13 0:01:47 91913 9:30:00 17:30:00 7:58:55 0:01:05 92040 9:30:00 17:30:00 8:22:26 NaN 92121 9:30:00 17:30:00 3:58:40 4:01:20 92420 9:30:00 17:30:00 NaN NaN 92421 9:30:00 17:30:00 4:03:29 3:56:31 >>> employee_198['id'].plot() Traceback (most recent call last): File "<stdin>",line 1,in <module> File "C:\Python27\lib\site-packages\pandas\tools\plotting.py",line 3497,in __call__ **kwds) File "C:\Python27\lib\site-packages\pandas\tools\plotting.py",line 2587,in plot_series **kwds) File "C:\Python27\lib\site-packages\pandas\tools\plotting.py",line 2384,in _plot plot_obj.generate() File "C:\Python27\lib\site-packages\pandas\tools\plotting.py",line 987,in generate self._make_plot() File "C:\Python27\lib\site-packages\pandas\tools\plotting.py",line 1664,in _make_plot **kwds) File "C:\Python27\lib\site-packages\pandas\tools\plotting.py",line 1678,in _plot lines = MPLPlot._plot(ax,x,y_values,style=style,**kwds) File "C:\Python27\lib\site-packages\pandas\tools\plotting.py",line 1300,in _plot return ax.plot(*args,**kwds) File "C:\Python27\lib\site-packages\matplotlib\__init__.py",line 1811,in inner return func(ax,*args,**kwargs) File "C:\Python27\lib\site-packages\matplotlib\axes\_axes.py",line 1427,in plot for line in self._get_lines(*args,**kwargs): File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py",line 386,in _grab_next_args for seg in self._plot_args(remaining,kwargs): File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py",line 374,in _plot_args seg = func(x[:,j % ncx],y[:,j % ncy],kw,kwargs) File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py",line 280,in _makeline seg = mlines.Line2D(x,y,**kw) File "C:\Python27\lib\site-packages\matplotlib\lines.py",line 366,in __init__ self.update(kwargs) File "C:\Python27\lib\site-packages\matplotlib\artist.py",line 856,in update raise AttributeError('Unknown property %s' % k) AttributeError: Unknown property color_cycle >>>
解决方法
目前Pandas 0.17.1中存在Matplotlib 1.5.0的错误
print pandas.__version__ print matplotlib.__version__
而不是使用
import pandas as pd pd.set_option('display.mpl_style','default')
使用:
import matplotlib matplotlib.style.use('ggplot')