gpt4 book ai didi

python - 将自定义函数插入 pandas 系列

转载 作者:太空宇宙 更新时间:2023-11-03 14:04:17 24 4
gpt4 key购买 nike

这是一个 df:

2005-01-24    117.0
2005-02-22 NaN
2005-03-21 NaN
2005-04-18 114.0
2005-05-23 NaN
2005-06-20 NaN
2005-07-18 122.0

预期输出是让下限值和上限值的平均值填充 NaN 值,如下所示:

2005-01-24    117.0
2005-02-22 115.5 (117-114 / 2)
2005-03-21 115.5
2005-04-18 114.0
2005-05-23 118.0 (122-114 / 2)
2005-07-18 122.0

据我所知 df.interpolate() 不允许您传递函数?还尝试尝试 .rolling(2).mean() 和重新索引但没有成功。

最佳答案

假设您的数据位于 Series 中:

import pandas as pd
import numpy as np

s = pd.Series({'2005-01-24': 117.0,
'2005-02-22': np.nan,
'2005-03-21': np.nan,
'2005-04-18': 114.0,
'2005-05-23': np.nan,
'2005-06-20': np.nan,
'2005-07-18': 122.0})

您可以使用 ffill 和 bfill 求出上限和下限,然后取平均值。

s.ffill().add(s.bfill()).div(2)
Out[71]:
2005-01-24 117.0
2005-02-22 115.5
2005-03-21 115.5
2005-04-18 114.0
2005-05-23 118.0
2005-06-20 118.0
2005-07-18 122.0
dtype: float64

关于python - 将自定义函数插入 pandas 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49020522/

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