python - 将滚动平均值应用于列时如何填充第一个 N/A 单元格-python
问题描述
我需要将滚动平均值应用于 pic1 s3 中所示的列,在我应用滚动平均值并设置 windows = 5 后,我得到了正确的答案,但前 4 行为空,如图 2 sa3 所示。
我想用 pic1 s3 中所有数据的平均值填充 pic2 sa3 中的前 4 个空单元格,直到当前行,如 pic3 a3 所示。
解决方案
我认为需要min_periods=1
参数rolling
:
min_periods : 整数,默认无
具有值所需的窗口中的最小观察数(否则结果为 NA)。对于由偏移量指定的窗口,这将默认为 1。
df = df.rolling(5, min_periods=1).mean()
样品:
np.random.seed(1256)
df = pd.DataFrame(np.random.randint(10, size=(10, 5)), columns=list('abcde'))
print (df)
a b c d e
0 1 5 8 8 9
1 3 6 3 0 6
2 7 0 1 5 1
3 6 6 5 0 4
4 4 9 4 6 1
5 7 7 5 8 3
6 0 7 2 8 2
7 4 8 3 5 5
8 8 2 0 9 2
9 4 7 1 5 1
df = df.rolling(5, min_periods=1).mean()
print (df)
a b c d e
0 1.000000 5.000000 8.00 8.000000 9.000000
1 2.000000 5.500000 5.50 4.000000 7.500000
2 3.666667 3.666667 4.00 4.333333 5.333333
3 4.250000 4.250000 4.25 3.250000 5.000000
4 4.200000 5.200000 4.20 3.800000 4.200000
5 5.400000 5.600000 3.60 3.800000 3.000000
6 4.800000 5.800000 3.40 5.400000 2.200000
7 4.200000 7.400000 3.80 5.400000 3.000000
8 4.600000 6.600000 2.80 7.200000 2.600000
9 4.600000 6.200000 2.20 7.000000 2.600000
推荐阅读
- java - 使用以下递归方法时获取 java.lang.OutOfMemoryError 异常
- javascript - 想要使用批处理脚本从 html 文件中提取数据。但我收到一个错误,因为 Object 不支持此属性或方法
- stanford-nlp - 斯坦福 CoreNLP 在存档中缺少无壳模型
- python - Django在保存中获取m2m字段的旧值和新值
- c# - 十进制不转换指数值( jsonConverter 从 JSON 到 C#) - 映射
- php - “无法打开流或文件“laravel.log”:无法打开流:权限被拒绝”
- node.js - node-mailer 使用动态“发件人”电子邮件发送电子邮件
- reactjs - 使用 spring boot 创建-react-app,设置代理服务器
- javascript - nodegit 签出和切换(远程)分支
- cassandra - 如何在cassandra的列表中使用json数据?