【发布时间】:2021-10-21 05:40:18
【问题描述】:
我有一个带有两列的 pandas DataFrame:toy 和 color。 color 列包含缺失值。
对于特定的toy,如何使用最常见的color 填充缺失的color 值?
这是创建示例数据集的代码:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'toy':['car'] * 4 + ['train'] * 5 + ['ball'] * 3 + ['truck'],
'color':['red', 'blue', 'blue', np.nan, 'green', np.nan,
'red', 'red', np.nan, 'blue', 'red', np.nan, 'green']
})
这是示例数据集:
toy color
0 car red
1 car blue
2 car blue
3 car NaN
4 train green
5 train NaN
6 train red
7 train red
8 train NaN
9 ball blue
10 ball red
11 ball NaN
12 truck green
这是想要的结果:
- 将第一个 NaN 替换为 blue,因为这是汽车最常见的
color。 - 将第二个和第三个 NaN 替换为 red,因为这是火车最常见的
color。 - 将 第四个 NaN 替换为 蓝色或红色,因为它们与最常见的
color并列。
关于真实数据集的说明:
- 有许多不同的
toy类型(不仅仅是四种)。 - 没有
toy类型只有color的缺失值,因此答案不需要处理这种情况。
This question 是相关的,但它没有回答我关于如何使用最频繁的值来填充缺失值的问题。
【问题讨论】:
标签: python pandas dataframe missing-data