使用pandas和matplotlib,当我排除一些行时如何绘制图形?

汤玛士

我有这样的数据(索引是时间戳,所以它是日期时间类型):

timestamp                price        quantity   direction    aggregated
2020-09-04 00:00:00.000  381.501760     3.000         s        True
2020-09-04 00:00:00.212  381.530000     3.225         s       False
2020-09-04 00:00:00.560  381.346627   207.477         s        True
2020-09-04 00:00:00.590  381.450000     2.586         s       False
2020-09-04 00:00:00.652  381.540000     0.030         b       False
...

我想在价格上做一个滚动窗口,但只在汇总= True的行上

df[df['aggregated'] == True]['price'].rolling("25s", min_periods=1).mean()

我用来绘制的代码是这样的:

fig, (ax1, ax2) = plt.subplots(2, figsize=(20, 10), sharex='all', gridspec_kw={'height_ratios': [4, 1]}, constrained_layout=True)

p0=ax1.plot(df.index, df['price'], color='darkorange', zorder = 0)
p1=ax2.plot(df.index, df[df['aggregated'] == True]['price'].rolling("25s", min_periods=1).mean(), color='blue')

但出现以下错误:

x和y必须具有相同的第一尺寸,但形状为(487452,)和(188252,)

如果删除聚合上的测试,则会得到以下信息:

fig, (ax1, ax2) = plt.subplots(2, figsize=(20, 10), sharex='all', gridspec_kw={'height_ratios': [4, 1]}, constrained_layout=True)

p0=ax1.plot(df.index, df['price'], color='darkorange', zorder = 0)
p1=ax2.plot(df.index, df['price'].rolling("25s", min_periods=1).mean(), color='blue')

而且有效。所以我想这不喜欢缺少某些行。

我该如何工作?

里奇

问题在于,.plot期望两个数组的大小相同,并且您要通过传递一个更长的数组df.index

尝试

filtered = df[df['aggregated'] == True]['price'].rolling("25s", min_periods=1).mean()

...

p1 = ax2.plot(filtered.index, filtered.price, color='blue')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我使用 matplotlib 绘制图形时,如何增加其中一条线的线宽(或加粗)?

使用Pandas和Matplotlib丢失数据并绘制图形

如何在运行时添加/删除一些过滤器以绘制图形?

如何使用Matplotlib在Spyder中绘制图形?

使用 matplotlib 绘制图形

如何使用 tkinter 和 matplotlib 在标签框中绘制图形?

如何使用R,Java和JRI绘制图形?

我如何修改此代码,以免每次都重新绘制图形,matplotlib

使用 matplotlib 绘制图形,使用 X11 和 OS X 通过 ssh

在Jupyter iPython Notebook中使用matplotlib绘制图形

使用 matplotlib 绘制图形时出错

需要帮助使用 matplotlib 在 tkinter 中绘制图形

如何在python中使用matplotlib在图像上绘制图形?

如何使用“ matplotlib.pyplot”在不同的窗口中绘制图形?

如何修复我的python代码以绘制图形?

我如何并排绘制图形以进行比较?

Python:使用 NetworkX 和 mplleaflet 绘制图形

使用“gridExtra”和多个方面并排绘制图形

我如何使用highchart在jsp中的spring mvc中绘制图形

使用CubicSpline函数时如何绘制图形

如何在R中使用ggplot绘制图形

如何使用C ++程序中的gnuplot绘制图形

如何使用自定义轴绘制图形

如何使用Offset和End。(xlDown)选择要绘制图形的数据

如何使用 chart.js 仅绘制图形和 Xaxis 网格线

如何使用networkx和d3py绘制图形

如何使用循环和 system.out.print/println 绘制图形

当我使用 python 运行烧瓶应用程序以在 web ui 上绘制图形时出现错误

绘制图形失败和精度