Python - 如何在 Pandas 中用平均值填充 NAN 值?
pythonserver side programmingprogramming更新于 2025/11/8 16:12:17
对于平均值,使用 mean() 函数。计算包含 NaN 的列的平均值,并使用 fillna() 用平均值填充 NaN 值。
让我们首先导入所需的库 −
import pandas as pd import numpy as np
创建一个包含 2 列和一些 NaN 值的 DataFrame。我们使用 numpy np.NaN − 输入了这些 NaN 值
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
}
)
查找具有 NaN 的列值的平均值,即针对 Units 列这里。因此,Units 列有 100、150 和 80;因此,平均值为 110 −
meanVal = dataFrame['Units'].mean()
将 NaN 替换为其所在列的平均值。上面计算的平均值是 110,所以 NaN 值将被替换为 110 −
dataFrame['Units'].fillna(value=meanVal, inplace=True)
示例
以下是代码 −
import pandas as pd
import numpy as np
# 创建 DataFrame
dataFrame = pd.DataFrame(
{
&"Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
}
)
print"DataFrame ...\n",dataFrame
# 查找列值为 NaN 的平均值,即此处的 Units 列
# 因此 Units 列有 100、150 和 80;因此平均值将为 110
meanVal = dataFrame['Units'].mean()
# 将 NaN 替换为其所在列的平均值
# 上面计算的平均值是 110,因此 NaN 值将被替换为 110
dataFrame['Units'].fillna(value=meanVal, inplace=True)
print"\nUpdated Dataframe after filling NaN values with mean...\n",dataFrame
输出
这将产生以下输出 −
DataFrame ... Car Units 0 BMW 100.0 1 Lexus 150.0 2 Lexus NaN 3 Mustang 80.0 4 Bentley NaN 5 Mustang NaN Updated Dataframe after filling NaN values with mean... Car Units 0 BMW 100.0 1 Lexus 150.0 2 Lexus 110.0 3 Mustang 80.0 4 Bentley 110.0 5 Mustang 110.0
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

