我有一个带有两列的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,因为这是汽车最常见的颜色。
- 将第二个和第三个NaN替换为red,因为这是火车最常见的颜色。
- 将第四个NaN替换为blue或red,因为它们在球的最常见颜色中并列第一。
关于真实数据集的注意事项:
- 有许多不同的玩具类型(不仅仅是四种)。
- 没有只有对于“颜色”有缺失值的“玩具”类型,因此答案不需要处理该情况。
这个问题与本问题相关,但它没有回答如何使用最频繁出现的值来填充缺失值的问题。