gpt4 book ai didi

python - 是否有python函数用连续值填充缺失数据

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

我想用连续的值 12 填充 b 列中这些缺失的数字。

这是我所做的:

import pandas as pd
import numpy as np

df = pd.DataFrame({'a': [1, 4, 7,8,4],
'b': [1, np.nan, 3, np.nan, 5]})

df['b'].fillna({'b':[1,2]}, inplace=True)

但什么也没做。

最佳答案

一种方法是使用 loc用一个数组:

df.loc[df['b'].isnull(), 'b'] = [1, 2]

你正在尝试的是可能的,但使用 fillna 会很麻烦:

nulls = df['b'].isnull()
df['b'] = df['b'].fillna(pd.Series([1, 2], index=nulls[nulls].index))

可能正在寻找interpolate但上述解决方案在给定输入列表或数组的情况下是通用的。

另一方面,如果您想用序列 1, 2, 3, etc 填充空值,您可以使用 cumsum :

# fillna solution
df['b'] = df['b'].fillna(df['b'].isnull().cumsum())

# loc solution
nulls = df['b'].isnull()
df.loc[nulls, 'b'] = nulls.cumsum()

关于python - 是否有python函数用连续值填充缺失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54201859/

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