熊猫情节时间序列-出现奇怪的行

时间:2018-09-07 07:27:19

标签: python pandas matplotlib

我正在处理汇率数据,结果非常奇怪,图中出现不必要的线条。

我已经阅读了不同的示例,紧随其后的示例仍然无法摆脱这些限制。

有人知道我的代码有什么问题吗?谢谢您的帮助。

enter image description here

df = df[['PRICE', 'TIME']]
start_time = '2018-08-01 19:50:00'
end_time = '2018-08-01 20:10:00'

df = df[(df['TIME'] > start_time) & (df['TIME'] <= end_time)]
df = df.set_index('TIME')

plt.figure(figsize = (18,9))
plt.plot(pd.to_datetime(df.index),df["PRICE"])
plt.xlabel('Time',fontsize=18)
plt.ylabel('Mid Price',fontsize=18)

如果需要任何数据,我将csv文件保存在Google驱动器https://drive.google.com/file/d/1ANybvOKeUYIhXxtm97VNT88SI8z2OWjV/view?usp=sharing

2 个答案:

答案 0 :(得分:2)

使用了您提供的相同数据

您需要添加df = df.sort_values(['TIME'], ascending=[True])

代码:

df = df[(df['TIME'] > start_time) & (df['TIME'] <= end_time)]
# df = df.drop_duplicates('TIME')
df = df.sort_values(['TIME'], ascending=[True])
df = df.set_index('TIME')

plt.figure(figsize=(18, 9))
plt.plot(pd.to_datetime(df.index), df["PRICE"])
plt.xlabel('Time', fontsize=18)
plt.ylabel('Mid Price', fontsize=18)

plt.show()

输出:

enter image description here

答案 1 :(得分:1)

无法复制,请确保csv文件相同:

df=pd.read_csv('a.csv', index_col=0, sep='\t')
df.index = pd.to_datetime(df.index)
df.BID.plot()

enter image description here

也可以为其他列获取类似的图。