我是Python的初学者,我正在尝试学习如何用信号线绘制MACD。我有一个带有“日期”,“关闭”等列的CSV。我希望日期成为索引。
日期采用以下格式:02/08/20 20:18
因此,如果我不将“日期”作为索引并绘制它,则该图将显示正常并且看起来很正常。这是我用来显示收盘价和日期的代码:
plt.figure(figsize=(20, 5))
plt.plot(df['Close'], label='Close')
plt.title('Close Price History')
plt.xlabel('Date')
plt.ylabel('Price USD ($)')
plt.show
但是,如果我使用以下代码“标准化”日期:
df['Date'] = pd.to_datetime(df.Date)
df['Date'] = pd.to_datetime(df['Date']).dt.floor('d')
df = df.set_index(pd.DatetimeIndex(df['Date'].values))
然后使用第一个代码绘制图形,它在整个地方都显得非常混乱。
有人可以在不破坏我的图形和计算的情况下帮助我使“日期”列成为索引吗?
非常感谢您!
答案 0 :(得分:0)
您可以尝试如下操作:
这里有一个小数据框作为示例。
df = pd.DataFrame({"Date":["02/09/20 20:18", "02/10/20 20:18", "02/11/20 20:18",
"02/12/20 20:18", "02/13/20 20:18", "02/14/20 20:18"],
"Close":[20, 40, 50, 25, 80, 30]})
然后您可以按照以下步骤设置索引和绘图:
df["Date"] = pd.to_datetime(df["Date"])
df = df.set_index("Date")
plt.plot(df.index, df["Close"])
plt.show()