У меня возникают проблемы, делая это очень простой пример работы:Matplotlib бар участок с пандами Timestamp
from numpy import datetime64
from pandas import Series
import matplotlib.pyplot as plt
import datetime
x = Series ([datetime64("2016-01-01"),datetime64("2016-02-01")]).astype(datetime)
y = Series ([0.1 , 0.2])
ax = plt.subplot(111)
ax.bar(x, y, width=10)
ax.xaxis_date()
plt.show()
Ошибки я получаю:
TypeError: float() argument must be a string or a number, not 'Timestamp'
Обратите внимание на astype(datetime)
часть - это то, что я пытался после reading this other SO post. Без этой части я получаю ту же ошибку.
С другой стороны, пример работает достаточно хорошо с простыми datetime64
типов - то есть, изменяя эти две строк:
x = [datetime64("2016-01-01"),datetime64("2016-02-01")]
y = [0.1 , 0.2]
Так что вопрос должен быть Timestamp
типа, который панда преобразует datetime64
объектов в. Есть ли способ сделать эту работу с Timestamp
напрямую, а не вернуться к datetime64
? Я использую Series
/Timestamp
здесь, потому что моя настоящая цель - построить ряд из DataFrame
. (Примечание: Я не могу использовать методы DataFrame
ПРОКЛАДКИ, потому что мой реальный пример находится внутри Сиборн FacetGrid
, и я должен использовать Matplotlib непосредственно.)
Я желаю! К сожалению, в моей реальной проблеме я работаю внутри морского «FacetGrid» и должен использовать «matplotlib» напрямую. –