python - 用 DataFrame 中其他地方可能存在的值填充缺失值?

标签 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

最佳答案

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

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

关于python - 用 DataFrame 中其他地方可能存在的值填充缺失值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42589849/

相关文章:

python-2.7 - "tuple index out of range"读取pandas pickled面板

r - 如何在R中为每列添加不同条件的多列?

python - 如何列出、连接和计算极坐标表达式?

python - 将用户对象和过滤后的对象列表传递到自定义 SearchView 子类中

python - 在Python中向nosetests添加更多测试模式?

python - 类型错误 : unhashable type: 'LineString'

python - get_current_language_bidi 未按预期工作

Python/ Pandas : Finding a left and right max

python - pandas - 如果存在部分字符串匹配,则将值放入新列中

Python Pandas 对列进行分组