Python Pandas - 用模式填充缺失的列值
众数是一组值中出现次数最多的值。使用该fillna()方法并设置模式以使用模式填充缺失的列。首先,让我们使用各自的别名导入所需的库 -
import pandas as pdimport 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 查找列值的模式,即此处的单位列。将 NaN 替换为它所在的列的模式,mode()在 Units 列上使用 -
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)
示例
以下是完整的代码 -
import pandas as pd输出结果import numpy as np
# 创建数据帧
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 列
# 用它所在列的模式替换 NaNs
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)
print"\nUpdated Dataframe after filling NaN values with mode...\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 mode...
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
以上是 Python Pandas - 用模式填充缺失的列值 的全部内容, 来源链接: utcz.com/z/317306.html