gpt4 book ai didi

具有不均匀时间序列索引的 python pandas 图(计数均匀分布)

转载 作者:太空狗 更新时间:2023-10-29 22:19:14 26 4
gpt4 key购买 nike

我的数据框有不均匀的时间索引。

我怎样才能找到一种方法来绘制数据并自动本地化索引?我在这里搜索过,我知道我可以绘制类似

e.plot()

even time

但时间索引(x 轴)将是偶数间隔,例如每 5 分钟一次。如果前 5 分钟需要 100 个数据,第二个 5 分钟需要 6 个数据,我该如何绘制数据数量均匀。并在 x 轴上找到正确的时间戳。

这里是even count,但是我不知道如何添加时间索引。

plot(e['Bid'].values)

even count

请求的数据格式示例

时间,出价

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 标签的位置。

By ticks or data points

By time

最佳答案

好的,看起来您想要在 x 刻度位置周围移动,以便每个刻度之间的点数相等。并且您希望在这些适当位置的刻度上绘制网格。我有这个权利吗?

如果是:

import pandas as pd
import urllib
import matplotlib.pyplot as plt
import seaborn as sbn

content = urllib.urlopen('https://eu-ats.googlecode.com/svn/trunk/data/new/eur-fix.csv')
df = pd.read_csv(content, header=0)
df['Time'] = pd.to_datetime(df['Time'], format='%Y-%m-%d %H:%M:%S:%f')

every30 = df.loc[df.index % 30 == 0, 'Time'].values
fig, ax = plt.subplots(1, 1, figsize=(9, 5))
df.plot(x='Time', y='Bid', ax=ax)
ax.set_xticks(every30)

enter image description here

关于具有不均匀时间序列索引的 python pandas 图(计数均匀分布),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22258162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com