gpt4 book ai didi

python - 以特定方式替换数组中的 NaN

转载 作者:太空宇宙 更新时间:2023-11-04 11:08:51 27 4
gpt4 key购买 nike

我有一个形式的数组(此处简化):[1,NaN,NaN,7,NaN,27]。我想用已知值之间等距的值替换 NaN 的,因此上面的数组将变为 [1,3,5,7,17​​,27]。有没有一种快速的方法可以做到这一点(不使用一些 for 循环)?谢谢!

最佳答案

Pandas dataframe.interpolate() 函数基本上用于填充数据帧或系列中的 NA 值

import pandas as pd
import numpy as np

arr = [ 1, np.NaN, np.NaN, 7, np.NaN, 27]
//converting array in series
print(pd.Series(arr).interpolate(method = 'linear', limit_direction = 'forward'))

参数
method = 'linear':忽略索引并将值视为等距。
limit_direction: {‘forward’, ‘backward’, ‘both’},默认‘forward’如果指定了limit,则连续的NaN将往该方向填充。
限制: int,可选要填充的最大连续 NaN 数。必须大于 0。

print(pd.Series(arr).interpolate(method = 'linear', limit_direction = 'forward', limit = 1))
#5 won't get printed
print(pd.Series(arr).interpolate(method = 'linear', limit_direction = 'backward', limit = 1))
#3 won't get printed

您可以根据您的要求尝试不同的变体。

关于python - 以特定方式替换数组中的 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58787103/

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