使用DataFrame中其他位置可能存在的值填充缺失值?

时间:2017-03-03 22:56:42

标签: python pandas dataframe

我有一个我想要清理的航空数据集。 NumEngines功能有一些缺失值,但有些情况下可以从数据框中其他位置的条目派生缺失值(但情况并非总是如此)。下面是我的数据集的一个小例子来说明这两种情况。请注意,第一个Cessna条目可用于填写第二个,但Piper的情况并非如此。

df = pd.DataFrame()
df["Make"] = ["Cessna","Piper","Cessna","Boeing"]
df["Model"] = ["Citation","PA32RT","Citation","737-300"]
df["NumEngines"] = [2,None,None,2]

如何制作它以便生成的DataFrame

     Make     Model  NumEngines
0  Cessna  Citation         2.0
1   Piper    PA32RT         NaN
2  Cessna  Citation         2.0
3  Boeing   737-300         2.0

1 个答案:

答案 0 :(得分:3)

我敢打赌transform('first')可以在这里再次成功:

df.groupby(['Make', 'Model']).transform('first')
Out[179]: 
   NumEngines
0         2.0
1         NaN
2         2.0
3         2.0