gpt4 book ai didi

python - 时间序列数据框用相同时期的数据填充值

转载 作者:行者123 更新时间:2023-12-04 09:40:17 25 4
gpt4 key购买 nike

我有一个包含 NaN 值的数据框,我想使用同月的信息填充缺失的数据。

数据框看起来像这样:

data = {'x':[208.999,-894.0,-171.0,108.999,-162.0,-29.0,-143.999,-133.0,-900.0],
'e':[0.105,0.209,0.934,0.150,0.158,'',0.333,0.089,0.189],
}

df = pd.DataFrame(data)
df = pd.DataFrame(data, index =['2020-01-01', '2020-02-01',
'2020-03-01', '2020-01-01',
'2020-02-01','2020-03-01',
'2020-01-01','2020-02-01',
'2020-03-01'])
df.index = pd.to_datetime(df.index)
df['e'] =df['e'].apply(pd.to_numeric, errors='coerce')

现在我正在使用 df=df.fillna(df['e'].mean())填充 nan 值,但它需要所有列数据,它给了我 0.27有没有办法只使用同月的数据?,结果应该是 0.56

最佳答案

尝试在 index.month 中分组并获得平均值( transformed )然后填充

df.index = pd.to_datetime(df.index)
out = df.fillna({'e':df.groupby(df.index.month)['e'].transform('mean')})
print(out)
x e
2020-01-01 208.999 0.1050
2020-02-01 -894.000 0.2090
2020-03-01 -171.000 0.9340
2020-01-01 108.999 0.1500
2020-02-01 -162.000 0.1580
2020-03-01 -29.000 0.5615
2020-01-01 -143.999 0.3330
2020-02-01 -133.000 0.0890
2020-03-01 -900.000 0.1890

关于python - 时间序列数据框用相同时期的数据填充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62363134/

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