visaulization-TypeError:float()引数は 'Timestamp'ではなく文字列または数値でなければなりません

2020-05-23 python-3.x pandas

:)私はパンダの初心者です。

x軸を日付時刻に設定して、すばやく簡単なsns.lineplotの視覚化を試しました。 しかし、float()引数を伝えるtypeerrorを示しています...このエラーを理解できません。

データサンプル

timestamp   pageview
0   2018-09-28 00:00:00+09:00   3
1   2018-09-28 00:00:01+09:00   1
2   2018-09-28 00:00:02+09:00   4
3   2018-09-28 00:00:03+09:00   4
4   2018-09-28 00:00:04+09:00   5

私が書いたコードは、

plt.figure(figsize = (15,4))

sns.lineplot(data = table, x = 'timestamp', y = 'pageview')

次に、以下のようなエラーが表示されます。

私はそれが典型的なsns.lineplotコードであり、他のサンプルデータセットで機能していたと思います。

最初は、「float()引数」がどこから出てきたのかわかりません。 答えを共有してください。

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-58-a38d365a1611> in <module>
      2 plt.figure(figsize = (15,4))
      3 
----> 4 sns.lineplot(data = table, x = 'timestamp', y = 'pageview')

~/opt/anaconda3/lib/python3.7/site-packages/seaborn/relational.py in lineplot(x, y, hue, size, style, data, palette, hue_order, hue_norm, sizes, size_order, size_norm, dashes, markers, style_order, units, estimator, ci, n_boot, seed, sort, err_style, err_kws, legend, ax, **kwargs)
   1135         ax = plt.gca()
   1136 
-> 1137     p.plot(ax, kwargs)
   1138     return ax
   1139 

~/opt/anaconda3/lib/python3.7/site-packages/seaborn/relational.py in plot(self, ax, kws)
    832 
    833             if self.units is None:
--> 834                 line, = ax.plot(x, y, **kws)
    835 
    836             else:

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py in plot(self, scalex, scaley, data, *args, **kwargs)
   1665         lines = [*self._get_lines(*args, data=data, **kwargs)]
   1666         for line in lines:
-> 1667             self.add_line(line)
   1668         self.autoscale_view(scalex=scalex, scaley=scaley)
   1669         return lines

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in add_line(self, line)
   1900             line.set_clip_path(self.patch)
   1901 
-> 1902         self._update_line_limits(line)
   1903         if not line.get_label():
   1904             line.set_label('_line%d' % len(self.lines))

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in _update_line_limits(self, line)
   1922         Figures out the data limit of the given line, updating self.dataLim.
   1923         """
-> 1924         path = line.get_path()
   1925         if path.vertices.size == 0:
   1926             return

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib/lines.py in get_path(self)
   1025         """
   1026         if self._invalidy or self._invalidx:
-> 1027             self.recache()
   1028         return self._path
   1029 

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib/lines.py in recache(self, always)
    668         if always or self._invalidx:
    669             xconv = self.convert_xunits(self._xorig)
--> 670             x = _to_unmasked_float_array(xconv).ravel()
    671         else:
    672             x = self._x

~/opt/anaconda3/lib/python3.7/site-packages/matplotlib/cbook/__init__.py in _to_unmasked_float_array(x)
   1388         return np.ma.asarray(x, float).filled(np.nan)
   1389     else:
-> 1390         return np.asarray(x, float)
   1391 
   1392 

~/opt/anaconda3/lib/python3.7/site-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
     83 
     84     """
---> 85     return array(a, dtype, copy=False, order=order)
     86 
     87 

TypeError: float() argument must be a string or a number, not 'Timestamp'

Answers

Related