【问题标题】:How to replace ffill() method with custom function in pandas如何用 pandas 中的自定义函数替换 ffill() 方法
【发布时间】:2022-07-18 21:26:37
【问题描述】:

这是我的示例 df:

    x   y
0   0   1.1
1   1   3.9
2   2   11.2
3   3   21.5
4   4   34.8
5   5   51.0
6   6   70.2
7   7   NaN
8   8   NaN
9   9   NaN

如果我想替换 NaN 值并填充最后一个数字(在本例中为 70.2),我只需申请:

df['y'].ffill(inplace=True)

但是,如果我想应用自定义函数而不是 ffill() 方法怎么办:例如,我需要将 y 列的 NaN 值替换为“2 * x^2”。查看所需的输出df:

    x   y
0   0   1.1
1   1   3.9
2   2   11.2
3   3   21.5
4   4   34.8
5   5   51.0
6   6   70.2
7   7   98
8   8   128
9   9   162 

只是为了说明:2 * 7^2 = 98 等

感谢您的帮助。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    在你的情况下做

    df['y'] = df.y.fillna(df.x**2*2)
    
    0      1.1
    1      3.9
    2     11.2
    3     21.5
    4     34.8
    5     51.0
    6     70.2
    7     98.0
    8    128.0
    9    162.0
    Name: y, dtype: float64
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-02
      • 2018-09-05
      • 2016-07-08
      • 2018-06-02
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多