- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
关于新的 .rolling
和 .ewm
方法。我正在使用 Pandas 0.19.0。
>>> df = pd.DataFrame({'A' : [1,2,np.nan, 3, 4, 5], 'B' : [1,2,3,np.nan, 4, 5]})
>>> df
A B
0 1.0 1.0
1 2.0 2.0
2 NaN 3.0
3 3.0 NaN
4 4.0 4.0
5 5.0 5.0
>>> df.rolling(window = 3).mean()
A B
0 NaN NaN
1 NaN NaN
2 NaN 2.0
3 NaN NaN
4 NaN NaN
5 4.0 NaN
期望的输出是完全忽略 nan,使用最后 3 个有效数据,并将 nan 留在原处。
A B
0 NaN NaN
1 NaN NaN # first two we don't have enough data
2 NaN 2.0 # B column is valid
3 2.0 NaN # completely ignore the nan in df.ix[2,'A'], take the mean of last 3 valid data
4 3.0 3.0
5 4.0 4.0
对于 .ewm
,我们有一个 ignore_na
参数。下面的代码得到了我想要的
output = df.ewm(com=2, ignore_na=True).mean()
output[df.isnull()] = np.nan
最佳答案
关于python - pandas rolling 和 ewm 完全忽略 na 并使用最后 N 个有效数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40994756/
我正在寻找一种方法来获得每一行的加权平均值,其中计算出的权重根据所有先前的值减半(并且随着先前值的增加对每一行继续)。 所以像 Out[1) 这样的输出应该看起来像 Out[2]: 权重应该从 1/1
我已经标记了事件(时间序列)数据,其中事件以给定标签的随机间隔发生。我想计算组内ewma并将其作为新列“X1_EWMA”添加到数据帧中。这是到目前为止的代码: import pandas as pd
当尝试从数据框中的金融数据计算指数移动平均线 (EMA) 时,Pandas 的 ewm 方法似乎不正确。 以下链接很好地解释了基础知识: http://stockcharts.com/school/d
我正在尝试使用Pandas ewm function计算指数加权移动平均线。然而我注意到信息似乎贯穿了你的整个时间序列。这意味着每个数据点的 MA 取决于不同数量的先前数据点。因此,每个数据点的 ew
是否有 ewm 和滚动方法的参数不填写 NA? >>> A = pd.Series([1,2,3,4,np.nan,5,6]) >>> A 0 1.0 1 2.0 2 3.0 3
我正在尝试验证 pandas 的 ewm.std 计算,以便我可以对我的代码实现一步更新。这是代码问题的完整描述。 mrt = pd.Series(np.random.randn(1000)) N =
我正在尝试构建一个指数移动平均算法,它产生与 Pandas 相同的输出 ewm()功能。特别是,我正在尝试实现这种方法: 下面的代码可以正常工作,直到移动平均窗口开始超出初始数据集,此时我开始得到与
假设我有一个如下所示的数据框 import pandas as pd data = {'team': ['team1','team1','team1','team1','team1','team1',
我有这个数据帧 ddd = pd.DataFrame({'day':['m','t','m','t','m','t','m','t'] ,'val':[15,2
我正在尝试运行以下代码,但出现错误。 line 43, in ups_avg = pd.ewm(ups, span=RSI_N)[-1] AttributeError: module 'pandas
关于新的 .rolling 和 .ewm 方法。我正在使用 Pandas 0.19.0。 >>> df = pd.DataFrame({'A' : [1,2,np.nan, 3, 4, 5], 'B'
如何在 NumPy 中获得指数加权移动平均线,就像 pandas 中的以下内容一样? import pandas as pd import pandas_datareader as pdr from
我是一名优秀的程序员,十分优秀!