私はパンダのデータフレームに基づいて基本散布図を作成しようとしています。しかし、スキャッタルルーチンを呼び出すと、 "TypeError:invalid type promotion"というエラーが発生します。問題を再現するためのサンプルコードを以下に示す:プロットしようとするパンダタイプのエラー
t1 = pd.to_datetime('2015-11-01 00:00:00')
t2 = pd.to_datetime('2015-11-02 00:00:00')
Time = pd.Series([t1, t2])
r = pd.Series([-1, 1])
df = pd.DataFrame({'Time': Time, 'Value': r})
print(df)
print(type(df.Time))
print(type(df.Time[0]))
fig = plt.figure(figsize=(x_size,y_size))
ax = fig.add_subplot(111)
ax.scatter(df.Time, y=df.Value, marker='o')
得られた出力は
Time Value
0 2015-11-01 -1
1 2015-11-02 1
<class 'pandas.core.series.Series'>
<class 'pandas.tslib.Timestamp'>
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-285-f4ed0443bf4d> in <module>()
15 fig = plt.figure(figsize=(x_size,y_size))
16 ax = fig.add_subplot(111)
---> 17 ax.scatter(df.Time, y=df.Value, marker='o')
C:\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py in scatter(self, x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, verts, **kwargs)
3635 edgecolors = 'face'
3636
-> 3637 offsets = np.dstack((x, y))
3638
3639 collection = mcoll.PathCollection(
C:\Anaconda3\lib\site-packages\numpy\lib\shape_base.py in dstack(tup)
365
366 """
--> 367 return _nx.concatenate([atleast_3d(_m) for _m in tup], 2)
368
369 def _replace_zero_by_x_arrays(sub_arys):
TypeError: invalid type promotion
私はエラーが複数のデータタイプを有することによって引き起こされることを示唆している同様のポストPandas Series TypeError and ValueError when using datetimeを見つけたの周り探しシリーズで。しかし、私が印刷しているタイプ情報が示すように、これは私の例では問題ではないようです。
pandas datetimeオブジェクトの使用をやめ、「Time」を浮動小数点にするのではなく、うまく動作することに注意してください。出力
Time Value
0 1.1 -1
1 1.2 1
<class 'pandas.core.series.Series'>
<class 'numpy.float64'>
やグラフで
t1 = 1.1 #
t2 = 1.2
Time = pd.Series([t1, t2])
r = pd.Series([-1, 1])
df = pd.DataFrame({'Time': Time, 'Value': r})
print(df)
print(type(df.Time))
print(type(df.Time[0]))
fig = plt.figure(figsize=(x_size,y_size))
ax = fig.add_subplot(111)
ax.scatter(df.Time, y=df.Value, marker='o')
だけで正常に見えます。私はdatetimeの使用が無効な型昇格エラーを引き起こしている理由について紛失していますか?私はPython 3.4.3とpandas 0.16.2を使用しています。
私はあなたがそれを解決してうれしいです。良い仕事:) –
私はあなたの質問に完全な解決策を提供する場合、あなた自身の答えを受け入れることをお勧めします。これにより、問題が解決されたことがシステムに示されます。 –