【发布时间】:2014-03-07 18:42:21
【问题描述】:
我的数据框的时间索引不均匀。
我怎样才能找到一种方法来绘制数据并自动本地化索引?我在这里搜索,我知道我可以绘制类似
e.plot()
但时间索引(x 轴)将是偶数间隔,例如每 5 分钟。 如果前 5 分钟需要 100 个数据,后 5 分钟需要 6 个数据,我该如何绘制 数据数量均匀。并在 x 轴上找到正确的时间戳。
这里是偶数,但我不知道如何添加时间索引。
plot(e['Bid'].values)
请求的数据格式示例
时间,出价
2014-03-05 21:56:05:924300,1.37275
2014-03-05 21:56:05:924351,1.37272
2014-03-05 21:56:06:421906,1.37275
2014-03-05 21:56:06:421950,1.37272
2014-03-05 21:56:06:920539,1.37275
2014-03-05 21:56:06:920580,1.37272
2014-03-05 21:56:09:071981,1.37275
2014-03-05 21:56:09:072019,1.37272
这是链接 http://code.google.com/p/eu-ats/source/browse/trunk/data/new/eur-fix.csv
这是代码,我曾经绘制过
import numpy as np
import pandas as pd
import datetime as dt
e = pd.read_csv("data/ecb/eur.csv", dtype={'Time':object})
e.Time = pd.to_datetime(e.Time, format='%Y-%m-%d %H:%M:%S:%f')
e.plot()
f = e.copy()
f.index = f.Time
x = [str(s)[:-7] for s in f.index]
ff = f.set_index(pd.Series(x))
ff.index.name = 'Time'
ff.plot()
更新:
我添加了两个新图进行比较以澄清问题。现在我尝试蛮力将时间戳索引转换回字符串,并将字符串绘制为 x 轴。格式很容易搞砸。自定义 x 标签的位置似乎很难。
【问题讨论】:
标签: python matplotlib pandas