Seaborn tsplot加窗估计量

Seaborn tsplot加窗估计量,plot,time-series,seaborn,Plot,Time Series,Seaborn,我想做一个tsplot,其中估值器是一个窗口函数,像滚动平均值,而不是平均值。理想情况下,我希望传递一个滚动平均值函数作为tsplot()的估计器参数,但单个时间点会传递到该估计器中。所以,看起来我一直在处理我的数据 对吗?这里有一个我忽略的好方法吗?我想我不太明白您想做什么,但是tsplot中用于计算置信区间的bootstrap函数得到整个数组和axis=0,然后在减少过度操作之前对数组行重新采样。所以这似乎是可行的: import numpy as np import pandas as p

我想做一个tsplot,其中估值器是一个窗口函数,像滚动平均值,而不是平均值。理想情况下,我希望传递一个滚动平均值函数作为
tsplot()
估计器
参数,但单个时间点会传递到该估计器中。所以,看起来我一直在处理我的数据


对吗?这里有一个我忽略的好方法吗?

我想我不太明白您想做什么,但是
tsplot
中用于计算置信区间的bootstrap函数得到整个数组和
axis=0
,然后在减少过度操作之前对数组行重新采样。所以这似乎是可行的:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = np.cumsum(np.random.randn(25, 40), axis=1)
sns.tsplot(data=data)


您希望获得置信区间吗?你的数据有什么结构?这正是我想做的!我不确定为什么我认为rolling_mean没有得到整个数组。再仔细想想,我不确定是否有任何理由在引导的每次迭代中跨时间进行rolling mean。您应该先调用一次并将结果传递到
tsplot
中,以获得相同的结果。如果你颠倒操作顺序,事情可能会不同;我不确定什么是正确的方法。只要这些都是线性运算,我猜顺序不会影响结果。但我想事先处理数据可能会更有效。
def rolling_mean(data, axis=0):
    return pd.rolling_mean(data, 4, axis=1).mean(axis=axis)

sns.tsplot(data=data, estimator=rolling_mean)