索引是日期时无法绘制数据帧

时间:2017-03-17 01:46:23

标签: python python-3.x pandas

我有一个如下所示的CSV文件:

Date,Close
16-Mar-17,848.78
15-Mar-17,847.2

每当我尝试加载它并通过执行以下操作将日期设置为索引时:

df = pd.read_csv("new_data.csv")
df.set_index("Date")

我得到ValueError: could not convert string to float: '18-Mar-16'为什么会这样?我认为你可以设置一个日期,即使它是一个字符串。我是熊猫的新手,所以很可能是一个简单的误解。

修改 我在错误的行上读错误,这是抛出错误的代码块。

df = pd.read_csv("new_data.csv")
Close = df.sort_index(ascending=True)
plt.plot(Close)
plt.gca().invert_xaxis()
plt.show()

2 个答案:

答案 0 :(得分:3)

现在,您需要将字符串Date转换为datetime

Close['Date'] = pd.to_datetime(Close['Date'])

答案 1 :(得分:0)

我遇到了类似的问题,都与妥善保管日期数据有关。 好的做法是在加载数据时,使用pandas功能加载日期信息。

df = pd.read_csv("new_data.csv", parse_dates=[0], infer_datetime_format = True)

where column [0]是日期列所在的位置。 然后熊猫会做“魔术”并很好地处理情节中的小问题。