我有一个如下所示的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()
答案 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]是日期列所在的位置。 然后熊猫会做“魔术”并很好地处理情节中的小问题。