[問題]資料為時間 畫 bar chart
大家好
我是python新手,想請問
我有一個dataframe,其中一個column為時間,另一個為數字
想要以這個dataframe畫bar chart
以下是我的程式碼:
import matplotlib.pyplot as plt
import pandas
df =
pandas.DataFrame({'a':['090000','093000','100000','103000'],'b':[2,3,4,5]})
df['a']=pandas.to_datetime(df['a'],format='%H%M%S')
print(df)
fig = plt.figure()
ax1=fig.add_subplot(111)
ax1.bar(df['a'],df['b'])
但卻出現以下錯誤:
TypeError: float() argument must be a string or a number, not 'Timestamp'
已經從網路上找了很久,還是無解...
不知道有沒有人知道怎麼解...
問了蠢問題讓大家見笑了
希望各位前輩可以幫幫我
非常感謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.105.73
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1458915318.A.432.html
推
03/25 22:33, , 1F
03/25 22:33, 1F
→
03/25 22:34, , 2F
03/25 22:34, 2F
→
03/25 22:36, , 3F
03/25 22:36, 3F
非常謝謝
不過我的df['a']原本是字串,已經被我用pandas.to_datetime(df['a'],'%H%M%S')
轉成時間了,結果就是出現timestamp格式 (資料原本就是字串,必須轉成時間畫圖)
不知道是不是還有其他將字串series轉成時間格式且非timestamp的方法...?
另外
df.plot.bar的確可以,真的非常感謝
不過由於被我轉成時間格式
所以x軸變成1900-01-01 09:00:00等,不知道有沒有方法可以轉成09:00:00就好...?
真的非常謝謝您,還煩請指教~~
※ 編輯: tnek (220.135.105.73), 03/25/2016 23:14:42
推
03/26 10:18, , 4F
03/26 10:18, 4F
推
03/26 10:27, , 5F
03/26 10:27, 5F
→
03/26 10:29, , 6F
03/26 10:29, 6F
→
03/26 10:29, , 7F
03/26 10:29, 7F
→
03/26 10:30, , 8F
03/26 10:30, 8F
真的很謝謝你的熱心
但小弟愚笨...不知道map是甚麼...
所以原本df['a']是字串格式
使用df.a.map(lambda t: t.strftime('%H-%M-%S'))
就可以使用plt.bar(df['a'],df['b'])畫出bar chart了嗎?
謝謝
※ 編輯: tnek (220.135.105.73), 03/27/2016 16:22:21
Python 近期熱門文章
PTT數位生活區 即時熱門文章