我有一个数据框,显示最近一堆股票的收盘价。它具有日期时间索引,并且可以通过其名称/代码来识别股票。您能帮我弄清楚如何计算数据框中每只股票的4天移动平均线吗?
我尝试使用pd.DataFrame.rolling()。mean()方法,但是它只是给出整个数据集的滚动平均值。不确定下一步要去哪里...
sampleData = hundredDayData['2019-03-11':'2019-03-20']
sampleData['Close: 4 day mean'] = sampleData['Close'].rolling(window=4).mean()
sampleData.head(24)
答案 0 :(得分:1)
<section class="main-content columns is-fullheight">
<aside class="column is-2 is-narrow-mobile is-fullheight section is-hidden-mobile">
<p class="menu-label is-hidden-touch">Header</p>
<ul class="menu-list">
<li>
<a href="#go-first" class="is-active">CIT</a>
<ul><li><a href="#">Items</a></li><li><a href="#">Items</a></li>
</ul>
</li>
<li>
<a href="#" class="is-active">Other</a>
<ul>
<li><a href="#">other</a></li>
</ul>
</li>
</ul>
</aside>
<div class="container column is-10">
<div class="section">
<div class="card">
<div class="card-header" id="go-first">
<p class="card-header-title">CIT</p>
</div>
<div class="card-content">
<div class="content">
header
</div>
<div class="columns">
<div class="column">
...
</div>
</div>
</div>
</div>
</div>
</div>
</section>
```
df = pd.DataFrame({'code': ['a']*10+['b']*10, 'Close': [1]*20})
df.groupby('code')['Close'].rolling(window=4).mean().reset_index()
分组并计算分组中的滚动平均值注意:如果您的code
都杂乱无章(如下所示),则您应该使用
code's
在组级别计算滚动平均值,但使用索引将其重新合并到主数据帧中作为新列。