2 回答

TA贡献1871条经验 获得超8个赞
首先将所有数据帧连接在一起并按列排序Speed。然后通过布尔掩码过滤,ffill用于向前填充缺失值duplicated:
df = pd.concat([df, df1, df2]).sort_values('Speed', ascending=False)
df = df[~df.ffill(axis=1).duplicated(['A','D'])].reset_index(drop=True)
print (df)
A B C D Speed
0 London Sydney NaN NaN 2000
1 London Rio Beijing NaN 2000
2 London Florence Rio Warsaw 1000
3 Budapest Warsaw NaN NaN 500
4 London Rio Budapest NaN 500
5 London Florence Rio Oslo 500

TA贡献1906条经验 获得超10个赞
您可以使用值或索引对数据框进行排序。例如,如果您想按 B 列排序 - 您可以编写如下代码:对于单列
`df.sort_values(by=['B'])`
按多列排序
df.sort_values(by=['col1', 'col2'])
您还可以按索引值排序。
添加回答
举报