gpt4 book ai didi

python - 如何用 numpy 数组的列的平均值填充 nan 值?

转载 作者:行者123 更新时间:2023-12-03 08:16:32 25 4
gpt4 key购买 nike

我将 pandas 数据帧的一部分转换为 numpy 数组,并且我想用列的平均值填充它的值,类似于我在 pandas 中执行以下操作的方式:

df.fillna(df.mean(), inplace = True)

到目前为止,我能够做到这一点的唯一方法是迭代列。还有别的办法吗?

谢谢!

最佳答案

您可以使用np.where,如下所示:

df = pd.DataFrame({'A': [2, 1, np.nan, 6], 'B': [4, np.nan, 8, np.nan]})

a = df.to_numpy()
print(a)
# [[ 2. 4.]
# [ 1. nan]
# [nan 8.]
# [ 6. nan]]

a = np.where(np.isnan(a), np.nanmean(a, axis=0), a)
print(a)

输出:

[[2. 4.]
[1. 6.]
[3. 8.]
[6. 6.]]

关于python - 如何用 numpy 数组的列的平均值填充 nan 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69231756/

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