Python Pandas - 使用模式填充缺失的列值

pythonserver side programmingprogramming更新于 2025/11/9 7:08:17

模式是一组值中出现次数最多的值。使用 fillna() 方法并设置模式以使用模式填充缺失的列。首先,让我们导入所需的库及其各自的别名 −

import pandas as pd
import numpy as np

创建一个包含 2 列的 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 列上的 mode() 将 NaN 替换为其所在列的模式 −

dataFrame.fillna(dataFrame['Units'].mode()[0], 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 列
# 将 NaN 替换为其所在列的模式
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)

print"\n用模式填充 NaN 值后更新了数据框......\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

用模式填充 NaN 值后更新了数据框......
       Car   Units
0      BMW   100.0
1    Lexus   150.0
2    Lexus    80.0
3  Mustang    80.0
4  Bentley    80.0
5  Mustang    80.0

相关文章


有用资源