gpt4 book ai didi

python - 如何使用滚动/移动平均值插入 csv 文件中的数据? (Python)

转载 作者:行者123 更新时间:2023-11-30 23:29:38 25 4
gpt4 key购买 nike

我有一个 csv 文件,如下所示:

2000-10-01,0.2214
2000-10-02,0.18304
2000-10-03,0.20181
2000-10-04,0.19469
2000-10-05,
2000-10-06,
2000-10-07,0.11495
2000-10-08,0.23528
2000-10-09,0.16796

但有时这些值会丢失,有时只是一天,有时是几周没有任何值。是否有可能使用缺失日期前后 15 天的滚动平均线或移动平均线来插入或填补空白? 我当前的代码:

import pandas as pd
ts=pd.read_csv('sum.csv', parse_dates=[0], index_col=[0])
ts_inter=ts.fillna(pd.stats.moments.rolling_mean(ts,7))
ts_inter.to_csv('moving_average_ET.csv')

问题是,输出文件中没有填充间隙。和原始数据一样。

最佳答案

IIUC,您正在寻找类似的东西

df.fillna(pd.rolling_mean(df, 7, min_periods=1).shift(-3))

示例:

>>> df
1
0
2000-10-01 0.22140
2000-10-02 0.18304
2000-10-03 0.20181
2000-10-04 0.19469
2000-10-05 NaN
2000-10-06 NaN
2000-10-07 0.11495
2000-10-08 0.23528
2000-10-09 0.16796

[9 rows x 1 columns]
>>> df = df.fillna(pd.rolling_mean(df, 7, min_periods=1).shift(-3))
>>> df
1
0
2000-10-01 0.221400
2000-10-02 0.183040
2000-10-03 0.201810
2000-10-04 0.194690
2000-10-05 0.185954
2000-10-06 0.182938
2000-10-07 0.114950
2000-10-08 0.235280
2000-10-09 0.167960

[9 rows x 1 columns]

这似乎与您在评论中描述的数字相符。我认为您的代码发生的情况是您的 rolling_mean 没有生成任何非 NaN 值,因为它从不认为自己有足够的数据来进行估计。

关于python - 如何使用滚动/移动平均值插入 csv 文件中的数据? (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21051746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com