2

次のデータはmatplotlib、Pandas シリーズに変換した後にプロットできますが、プロットできません。パンダを使用してどのようにプロットできますか?

パンダなし

scores = [Decimal('3.7989'),
 Decimal('4.7989'),
 Decimal('5.7989'),
 Decimal('6.7989'),
 Decimal('7.7989')]

 timestamps = [datetime.datetime(2013, 11, 12, 21, 21, 52),
 datetime.datetime(2013, 11, 12, 21, 21, 8),
 datetime.datetime(2013, 11, 12, 21, 21, 1),
 datetime.datetime(2013, 11, 12, 21, 20, 1),
 datetime.datetime(2013, 11, 12, 21, 19, 33)]

 plt.plot(timestamps,score)

ここに画像の説明を入力

パンダの使用

ts = pd.Series(scores, index=timestamps)
ts.plot()

次のエラーが表示されます。TypeError: Series has object dtype and cannot be converted: no numeric data to plot

4

1 に答える 1

1

Decimalタイプを取り除いてみてください:

ts = pd.Series([float(x) for x in scores], index=timestamps)

また

ts = pd.Series(scores, index=timestamps, dtype='float64')

Pandas は数値型として float と integer のみをサポートします。それ以外のものを使用すると、「オブジェクト」になります。

于 2013-11-13T02:37:20.717 に答える